FEATURED · 精选文章

记录C++ 12

发布时间 / 2026/8/27 2:36:52
来源 / 创域科博编辑部
栏目 / 资讯中心
记录C++ 12 序列式容器将一组具有相同类型的元素以严格的线性形式组织起来每个元素都要固定的位置向量(vector)本质上是动态数组随机存取任何元素都能在常数事件完成在尾端增删性能高#include iostream #include vector #include string using namespace std; int main() { vectorint a; //创建一个向量存储容器 int for(int i0;i10;i)//push_back在数组最后添加十个数据 { a.push_back(i); cout a[i] ; } for(int i0;i5;i) { a.pop_back();//去掉数组最后5个数据 } cout \nendl; for(unsigned int i0;ia.sizel();i)//size()容器中实际数据个数打印数组内所有数据 { cout a[i] ; } return 0; }列表(List)本质上是双向循环链表在任何位置增删元素都能在常数时间完成但随机访问偏慢双端队列(deque)本质是动态数组随机存取任何元素都能在常数时间完成性能仅次于vector,在2端增删元素具有较好性能关联式容器查找数据时具有非常好的性能查找和检索的事件通常以平衡二叉树的方式实现集合(set)与多重集合(multiset)set容器内元素会被自动排序默认升序无法使用迭代器去修改set元素但可以插入或删除set不允许数据重复而multiset允许数据重复映射(map)与多重映射(multimap)map提供的是一种键值对容器里面的数据都是成对出现的每一对中的第一个值称为关键字key每个关键字只能在map里面出现一次第二个值成为该关键字的对应值multimap与map唯一区别就是支持键值key重复导致map支持[]运算符而multimap不支持#include iostream #include map #include string using namespace std; int main() { mapint,stringstudents{{1,zhangsan},{2,lisi}};//初始化用{}赋值 students.insert(pairint,string(3,wangwu));//用insert函数插入pair数据 students.insert(mapint,string::value_type(4,laoliu));//用insert函数插入value_type数据 mapint,string::iterator iter;//使用迭代器遍历map打印所有数据 for(iter students.begin();iter !students.end();iter) { cout iter-first iter-second endl; } return 0; }迭代器迭代器是一种检查容器类元素并遍历元素的数据类型迭代器核心作用使算法独立于容器类型每种容器都定义了自己的迭代器类型都定义了一对名为begin和end的函数用于迭代器返回迭代器分正向迭代器(iterator)和反向迭代器(reverse_iterator)迭代器的类型输入迭代器对容器连续遍历2次不保证顺序一致不保证遍历中途先前的值仍然可用为单向迭代器输出迭代器只能用于修改容器内数据不能读取数据主要用于单通行只写算法正向迭代器可用遍历容器连续遍历2次保证顺序一致遍历中途可对先前值访问并且能够获取数据和修改数据双向迭代器在正向迭代器基础上增加--操作可以倒退随机访问迭代器可以调到容器任何元素上进行操作还支持的比较
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻