C++STL——Vector
Vector
向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。
以int类型为例,创建数组:vector
包含函数(常用)
- push_back():将元素插入到容器的尾部
- pop_back():将最后一个元素移除
- front():返回容器中的第一个元素
- back():返回容器中最后一个元素
- begin(),end()
- size():返回容器的大小
- sort(a.begin(),a.end()):默认是由小到大将容器中的元素排序.若想要由大到小需要重写函数。需要头文件algorithm
- reverse(a.begin(),a.end()):容器中元素由大到小排序
- clear():清空容器
- empty():判断Vector是否为空(返回true时为空)
- erase():删除指定元素,需要用到迭代器
删除某个元素
注意它是需要使用迭代器删除的
vector::iterator itor;
for(itor=a.begin();itor!=a.end();)
{
if(*itor == 13)//使用迭代器逐个对比,一样的就删掉,然后++判断下一个
{
itor=a.erase(itor);
}
else
{
itor++;
}
}
访问方式
其访问可以使用获得数组的大小,然后以数组的方式a[i]来访问;也可以使用迭代器来访问
vector::iterator iter;
for(iter = a.begin();iter!=a.end();iter++)
cout<<*iter<<" ";
二维数组的建立
在代码中给出
代码
#include
#include
#include
#include
using namespace std;
void create_er();
void test(vector a);
int main()
{
vector a;
//插入只能用push_back()的方式
a.push_back(12);//插入函数,将数值插入到数组的最后一个
a.push_back(13);
a.push_back(14);//它的存储方式是12 13 14.先进先出
test(a);
cout<<"数组的第一个成员:"<::iterator iter;
for(iter = a.begin();iter!=a.end();iter++)
{
cout<<*iter<<" ";
}
// a.clear();//清除容器中所有的元素
//判断此时的vector容器是否为空
if(a.empty())//empty()函数,如果容器为空,则返回true
cout<<"empty"< > obj(N);//二维数组的定义式
for(int i = 0;i >obj(N,vector(M));
//二维数组的输出
for(int i = 0;i a){
cout<<"vector传入了函数"<