您的位置:首页 > 编程语言 > C语言/C++

C++ vector用法

2015-08-14 16:57 483 查看
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。

1 基本操作

(1)头文件
#include<vector>
.

(2)创建vector对象,
vecto<类型>rvec
;

(3)尾部插入数字:
vec.push_back(a)
;

(4)使用下标访问元素,
cout<<vec[0]<<endl;
记住下标是从0开始的。

(5)使用迭代器访问元素.

vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;


(6)插入元素:
vec.insert(vec.begin()+i,a);
在第i+1个元素前面插入a;

(7)删除元素:
vec.erase(vec.begin()+2);
删除第3个元素

vec.erase(vec.begin()+i,vec.end()+j);
删除区间[i,j-1];区间从0开始

(8)向量大小:
vec.size();


(9)清空:`vec.clear();

2.vector的元素不仅仅可以使int,double,string,还可以是结构体,但是要注意:结构体要定义为全局的,否则会出错。

相关函数:

1.push_back   在数组的最后添加一个数据
2.pop_back    去掉数组的最后一个数据
3.at                得到编号位置的数据
4.begin           得到数组头的指针
5.end             得到数组的最后一个单元+1的指针
6.front        得到数组头的引用
7.back            得到数组的最后一个单元的引用
8.max_size     得到vector最大可以是多大
9.capacity       当前vector分配的大小
10.size           当前使用数据的大小
11.resize         改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12.reserve      改变当前vecotr所分配空间的大小
13.erase         删除指针指向的数据项
14.clear          清空当前的vector
15.rbegin        将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend          将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty        判断vector是否为空
18.swap         与另一个vector交换数据


详细的函数实现功能:
vector<int> c;

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()             返回指向容器最后一个元素的迭代器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ vector