C++STL——Vector


Vector

向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。
以int类型为例,创建数组:vector a;

包含函数(常用)

  1. push_back():将元素插入到容器的尾部
  2. pop_back():将最后一个元素移除
  3. front():返回容器中的第一个元素
  4. back():返回容器中最后一个元素
  5. begin(),end()
  6. size():返回容器的大小
  7. sort(a.begin(),a.end()):默认是由小到大将容器中的元素排序.若想要由大到小需要重写函数。需要头文件algorithm
  8. reverse(a.begin(),a.end()):容器中元素由大到小排序
  9. clear():清空容器
  10. empty():判断Vector是否为空(返回true时为空)
  11. 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传入了函数"<
C++