STL中的vector

来源:互联网 发布:下载淘宝app官方软件 编辑:程序博客网 时间:2024/05/17 02:08

STL(Standard Template Library),标准模板库,惠普实验室开发的一系列软件,现在已是C++的一部分,它包含了很多基本的数据结构以及算法,可以为我们编程提供极大的便利。其中,vector是其中比较常用的结构。

vector,向量容器,是一个线性表的结构,用3个指针存放向量的起始字节位置、当前最后一个向量元素的末尾字节和整个容器所占用的内存空间的末尾字节。包含在vector头文件中

构造函数:

1.vector(const A &a = A())其中A是内存分配器,相当于vector();

2.vector(size_type n)创建具有n个元素的vector对象;

3.vector(size_type n,const T& value)创建具有n个初始值为value的vector对象;

4.vector(const vector&)通过拷贝一个vector对象的个元素指,创建一个新的vector对象;


添加元素:

vector<int> v;v.push_back(43);v.push_back(23);v.push_back(12);


数组方式遍历元素:

for(int i=0;i<v.size();i++){  cout << "v["<<i<<"]="<<v[i]<<endl;}


迭代器遍历元素:

vector<int>::iterator i;int j;for(i=v.begin(),j=0;i!=b.end();i++,j++){  cout<<"v["<<j<<"]="<<*i<<endl;}

反向遍历元素(数组方法略去):

vector<int>::reverse_iterator ri;int j;for(ri=v.rbegin(),j=v.size()-1;ri!=v.rend();ri++,j--){  cout << "v["<<j<<"]="<<*i <<endl;}

元素的插入:

vector<int> v;v.push_back(3);v.push_back(6);v.push_back(8);v.insert(v.begin()+2,9);//在8前插入9v.insert(v.begin(),5);//插入5为首元素v.insert(v.end(),10);//插入10为尾元素

元素的删除:

vector<int> v;v.push_back(34);v.push_back(2);v.push_back(3);v.erase(v.begin()+1);//删除第二个元素


其他常用函数:

vector交换:void swap(vector&);

判断元素是否为空:bool empty();

元素的个数:size_type size();

元素的最大个数:size_type max_size();

当前可容纳的元素个数:size_type capacity();

元素的首元素:reference front();

元素的末元素:reference back();

删除尾元素:void pop_back();





原创粉丝点击