C++语言基础 —— STL —— 容器与迭代器 —— vector

【概述】

vector 是定义在 <vector> 头文件中的向量容器模版类,其以连续数组的方式存储元素序列,可以将 vector 看作是以顺序结构实现的线性表。

当在程序中需要使用动态数组时,vector 是一个理想的选择,其在使用过程中动态地增长存储空间,存取任何元素都能在参数时间内完成,但若在结尾插入,效率比较高,若往中间某个位置插入,则其插入位置后的元素都要后移,效率相对较低。

定义:vector<type> vectorName

参数:type 代表 vector 中存储元素的类型

【构造函数】

  • vector <type> c:产生一个空 vector,其中没有任何元素
  • vector <type> c(n):生成一个大小为 n 的 vector
  • vector <type> c(n, elem):产生一个大小为 n 的 vector,每个元素值都是 elem 
  • vector <type> c1(c2):产生另一个同型 vector 的副本,所有元素都被复制
vector<int> v1;
vector<double> v2(10);
vector<string> v3(10,"abc");
vector<string> v4(v3);

【基本操作】

对 vector<type> v 的基本操作有:

  • v[i]:访问第 i 个元素
  • v.front():返回首元素
  • v.back():返回尾元素
  • v.size():返回容器中实际的元素个数
  • v.clear():删除容器中所有元素
  • v.empty():判断容器是否为空,若为空返回真,否则返回假
  • v.push_back(elem):向表尾插入元素 elem
  • v.pop_back():删除表尾元素
  • v1.swap(v2)、swap(v1,v2):将 v1 和 v2 元素互换

【迭代器操作】

对 vector<type> v 的迭代器 it 的操作有:

  • v.bedin():返回迭代器指向的第一个元素的位置
  • v.end():返回迭代器指向的最后一个元素后的位置
  • v.insert(it, elem):向迭代器 it 指向的元素前插入新元素 elem
  • v.insert(it, n, elem):向迭代器 it 指向的元素前插入 n 个 elem
  • v.insert(it, first, last):将由迭代器 first 和 last 所指定的序列 [first, last) 插入到迭代器 it 指向的元素前面
  • v.erase(it):删除由迭代器 it 所指向的元素
  • v.erase(first, last):删除由迭代器 first 和 last 所指定的序列 [first, last)
posted @ 2022-09-20 23:00  老程序员111  阅读(52)  评论(0编辑  收藏  举报