c++中的vector
vector是c++中的一种数据结构,确切的说是一个类,相当于一个动态的数组,当无法知道自己需要多大的数组的规模时,用vector来解决可以达到最大节约空间的目的。
用法
- 文件包含
‘’’
include
using namespace std;
···
2. 变量声明:
- 声明一个int向量代替一维数组:vector
a; 。相当于声明了一个没有指定大小可以动态添加删除元素的数组a[]。 - 用vector代替二维数组,其实只要声明一个一维数组向量即可,而一个数组的名字其实代表它的首地址,所以只要声明一个地址的向量即可,即:vector <int *>a。
- 具体用法以及函数调用
- 得到向量中的元素
vector <int > a;
int b = 5;
a.push_back(b);
cout<<a[0];
常用的函数:
举个例子:
如:vector
c.clear() 移除容器中所有数据。
c.empty() 判断容器是否为空。
c.erase(pos) 删除pos位置的数据
c.erase(beg,end) 删除[beg,end)区间的数据
c.front() 传回第一个数据。
c.insert(pos,elem) 在pos位置插入一个elem拷贝
c.pop_back() 删除最后一个数据。
c.push_back(elem) 在尾部加入一个数据。
c.resize(num) 重新设置该容器的大小
c.size() 回容器中实际数据的个数。
c.begin() 返回指向容器第一个元素的迭代器
c.end() 返回指向容器最后一个元素的迭代器
使用迭代器访问元素
vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;
还可以使用下标访问元素:
cout<<vec[0]<<endl;记住下标是从0开始的。