如何在c++中使用STL顺序容器

  介绍

今天就跟大家聊聊有关如何在c++中使用STL顺序容器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

c++标准模板库STL顺序容器

容器数据结构顺序性重复性支持迭代器矢量动态数组无序可重复随机访问迭代器双端队列双向队列无序可重复随机访问迭代器列表双向链表无序可重复双向迭代器

动态数向量组

<代码> #向量包括& lt; vector> 动态数组:其元素在内存中是连续存放的,随机存取任何元素都可以在常数时间内完成,在该容器的尾部增删元素也几乎能够在常数时间内完成具有较好的性能。

一个常向量用函数使用实例如下:

# include  & lt; iostream>   # include  & lt; vector>   using  namespace 性传播疾病;   template   年代,void  printVector (T  T  e) {   ,,,(e; s  !=,,, + + s) {   ,,,,,,,cout  & lt; & lt;, * s  & lt; & lt;, & # 39;, & # 39;;   ,,,}   ,,,cout  & lt; & lt;, endl;   }      int  main () {   ,,,int 一个[5],=,{1,2,3,4,5};   ,,,vector, v(一个+ 5);   ,,,cout  & lt; & lt;,“1)“, & lt; & lt;, v.end(),背后,逆序函数(),& lt; & lt;, endl;   ,,,cout  & lt; & lt;,“; 2)“;;   ,,,printVector(逆序函数(),,v.end ());   ,,,v.insert(逆序函数()+ 3,,100),,//,插入()函数插入元素   ,,,cout  & lt; & lt;,“3)“;   ,,,printVector(逆序函数(),,v.end ());      ,,,vector, v2 (5,0);   ,,,v2.insert (v2.begin() + 2,逆序函数(),v.end());,//,插入(),函数数据块插入,,   ,,,cout  & lt; & lt;,“; 4)“;   ,,,printVector (v2.begin (),, v2.end ()),,,,   ,,,v.erase(逆序函数()+ 3),,//,抹去(),函数删除元素,   ,,,cout  & lt; & lt;,“; 5)“;   ,,,printVector(逆序函数(),,v.end ());   ,,,v.erase(逆序函数()+ 2,逆序函数()+ 4),,//,抹去(),函数删除数据块   ,,,cout  & lt; & lt;,“; 6)“;   ,,,printVector(逆序函数(),,v.end ());   ,   ,,,return  0;   }

构造函数

函数函数描述向量构造函数创建一个向量,可以设定大小nSizevector (const vector&)拷贝构造函数,可以对区间内另一个数组的元素进行拷贝操作符=将新内容分配给容器,替换其当前内容,并相应地修改其大小分配将新内容分配给向量,替换其当前内容,并相应地修改其大小

,容量管理函数

函数函数描述大小返回容器中元素的数量max_size返回容器可容纳的最大元素数调整调整容器的大小,使其包含n(参数)个元素能力返回当前为向量分配的存储空间容(量)的大小空返回向量是否为空储备请求向量容量至少足以包含n(参数)个元素shrink_to_fit要求容器减小其容量(容量)以适应其大小(元素数量)

,增删函数

函数函数描述push_back方法在容器的最后一个元素之后添加一个新元素pop_back删除容器中的最后一个元素,有效地将容器尺寸减少一个插入通过在指定位置的元素之前插入新元素来扩展该容器,通过插入元素的数量有效地增加容器大小擦掉从向量中删除单个元素(<代码>位置> [第一,去年)),这有效地减少了被去除的元素的数量,从而破坏了容器的大小清晰的从向量中删除所有的元素(被销毁),留下大小为0的容器安放通过在位置(参数)位置处插入新元素args(参数)来扩展容器emplace_back在向量的末尾插入一个新的元素,紧跟在当前的最后一个元素之后

,索引函数

函数函数描述运营商[]返回容器中第n(参数)个位置的元素的引用在返回容器中第n(参数)个位置的元素的引用前返回对容器中第一个元素的引回用返回对容器中最后一个元素的引用数据返回指向容器中第一个元素的指针

迭代器函数

函数函数描述开始返回指向容器中第一个元素的迭代器结束返回指向容器中最后一个元素之后的理论元素的迭代器rbegin返回指向容器中最后一个元素的反向迭代器撕裂返回一个反向迭代器,指向中第一个元素之前的理论元素cbegin返回指向容器中第一个元素的常量迭代器(const_iterator) cend返回指向容器中最后一个元素之后的理论元素的常量迭代器(const_iterator) crbegin返回指向容器中最后一个元素的常量反向迭代器(const_reverse_iterator) crend返回指向容器中第一个元素之前的理论元素的常量反向迭代器(const_reverse_iterator)

用向量实现二维数组

# include  & lt; iostream>   # include  & lt; vector>   using  namespace 性传播疾病;      int  main () {   ,,,vector

如何在c++中使用STL顺序容器