vector常见用法详解
1.定义:
vector name;
中间的typename 可以是任何类型:像double int
char 结构体等,当然它也可以是一个stl标准容器
但是要注意的是当其是一个标准stl容器时,要多写一个空格
例如:
vector<vector > name;//后两个尖括号中间是有一个空格的
vector Arrayname[arraysize]//表示的是一维长度已经确定,下一维长度可以发生变化
2.vector中元素的访问
vector vi
1。下标访问:
vi[index];
//将其和数组的使用统一起来即可
2.迭代器进行访问
vector:: iterator it;
vector:: iterator it=vi.begin();
for(int i=0;i<5;++i){
printf(“%d”,*(it+i));
}
for(vector::iterator it=vi.begin();it!=vi.end();it++){
printf(“%d”,*it);
}
3.其他常用函数的解释:
push_back();表示的是向数组的末尾添加数据
vi.push_back(i);
pop_back();//表示的是从数组的末尾进行删除
size();//获取元素个数
clear()//清空
insert()//插入元素
vi.insert(vi.begin()+2,-1)//将-1插入到vi[2]的位置
erase()删除
erase(it)//删除迭代器指向的元素
erase(first,last);//删除指定区间的元素
4.总结:
vector本身可以作为数组来进行使用,而且在一些元素个数不确定的场合可以很好的节省空间
我们还可以用它当作是图的邻接表的存储结构