vector基本操作

 

vector

1.一维数组

定义方法:

vector<Template>name;

元素类型可以为预定义类型以及结构体类型

也可指定长度:

例:vector<int>a(10); 但其长度可变

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    vector<int>ve(9);
    //若规定长度后,自动初始化长度范围内元素为0 
    cout<<"vector长度:"<<ve.size()<<endl;
    for(int i=0;i<9;i++)
    ve.push_back(i);//push_back()向尾部追加元素 
    
    cout<<"数组下标访问:"; 
    //一维不定长数组可以用下标访问
    for(int i=0;i<18;i++)
    cout<<ve[i]<<" ";
    cout<<"\n";
    
    //使用迭代器访问
    cout<<"使用迭代器访问:";
    vector<int>::iterator it;
    for(it=ve.begin();it!=ve.end();it++)
    cout<<*it<<" ";
}

2.二维数组:

定义:vector<vector<int> > Matrix(N, vector<int>(M));

    vector<vector<int> > Mat(3, vector<int>(4)); 
    for(int i=0;i<Mat.size();i++)
    for(int j=0;j<Mat[0].size();j++)
    Mat[i][j]=1;
    
    for(vector<vector<int> >::iterator it=Mat.begin();it!=Mat.end();it++)
    {
        for(vector<int>::iterator i=it->begin();i!=it->end();i++)
        cout<<(*i)<<" "; 
        cout<<"\n";
    }
    //迭代器没有重载加号+ 
    vector<int>tem;
    for(int i=0;i<4;i++)
    tem.push_back(i);
    
    Mat.push_back(tem);//push_back()同类型的数据 
    
    for(vector<vector<int> >::iterator it=Mat.begin();it!=Mat.end();it++)
    {
        for(vector<int>::iterator i=it->begin();i!=it->end();i++)
        cout<<(*i)<<" "; 
        cout<<"\n";
    }
View Code

             容器vector基本操作:

在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。

1 基本操作

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

(2)创建vector对象,vector<int> vec;

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

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

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

(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();

 

              

 

  

 

posted @ 2017-07-12 16:23  LarryXXXXXXXXX  阅读(324)  评论(0编辑  收藏  举报