vector:翻译为向量,矢量,动态数组(数据结构中的顺序表)
vector的结构如下:
它是顺序容器的一个模板类,该容器将元素以线性排列方式进行存放,并且允许快速随机访问任何元素,它是随机访问性能最佳的首选序列容器,可以看成智能版的数组(能自动初始化,自动分配内存,自动回收内存,自动提供高效的服务)。其中所有元素的类型都相同,可以通过下标(索引)访问数据。
相关定义及用法如下:
#include <iostream>
#include <vector> //用vector需要加头文件
using namespace std;
int main()
{
//定义
vector<int> v1 = { 1,2,3 };
//修改
v1 = { 10,20,30 };
//范围for
for (auto& x : v1)
cout << x << " ";
cout << endl;
//利用下标输出第一个元素
cout << v1[0] << endl;
//同上
cout << v1.front() << endl;
//输出最后一个元素
cout << v1.back() << endl;
//在第一个的后一个位置插入100
v1.insert(v1.begin() + 1, 100);
for (auto& x : v1)
cout << x << " ";
cout << endl;
//尾插40
v1.push_back(40);
for (auto& x : v1)
cout << x << " ";
cout << endl;
//删除第一个元素
//v1.erase(v1.begin());
//for (auto& x : v1)
// cout << x << " ";
//cout << endl;
//删除区间,注意范围为左闭右开
//v1.erase(v1.begin(),v1.begin()+2);
//for (auto& x : v1)
// cout << x << " ";
//cout << endl;
//删除第2,3,4个元素
v1.erase(v1.begin()+1, v1.begin() + 4);
for (auto& x : v1)
cout << x << " ";
cout << endl;
//尾删
v1.pop_back();
for (auto& x : v1)
cout << x << " ";
cout << endl;
return 0;
}
上述注释的代码,由于操作过多会影响到后面代码的实行,可以把最后的代码注释,然后就可以运行一下注释的那一部分代码。