您的位置:首页 > 其它

STL中Vector的使用方法详解

2011-09-19 00:21 567 查看
转载自:http://blog.sina.com.cn/s/blog_5cf5e7c40100boiu.html

//VectorDemo.cpp : 定义控制台应用程序的入口点。

//Visual C++ 6.0 中编译通过

# include <iostream>

# include <vector>

using namespace std;

typedef vector<int> INTVECTOR;

void PrintIntVector(INTVECTOR iVector)

{

    //遍历vector方法

    cout<<"Vector: [";

    for(INTVECTOR::iterator it = iVector.begin(); it != iVector.end(); it++)

    {

        cout<<*it;

        if(it != iVector.end()-1)

        {

            cout<<",";

        }

    }

    cout<<"]"<<endl;

}

int main(int argc, char* argv[])

{

    INTVECTOR iVector;

    //push_back方法

    iVector.push_back(2);

    iVector.push_back(3);

    iVector.push_back(4);

    iVector.push_back(1);

    iVector.push_back(10);

    iVector.push_back(20);

    PrintIntVector(iVector);

    //Vector: [2,3,4,1,10,20]

   

    //pop_back方法

    iVector.pop_back();

    PrintIntVector(iVector);

    //Vector: [2,3,4,1,10]

   

    //size、capacity 与 max_size方法

    cout<<"size="<<iVector.size()<<" capacity="<<iVector.capacity()<<"  max_size="<<iVector.max_size()<<endl;

    //size=5 capacity=6  max_size=1073741823

   

    //reserve方法

    iVector.reserve(20);

    cout<<"After reserve: size="<<iVector.size()<<" capacity="<<iVector.capacity()<<" max_size="<<iVector.max_size()<<endl;

    //After reserve: size=5 capacity=20  max_size=1073741823

   

    //resize方法

    iVector.resize(100);

    cout<<"After resize: size="<<iVector.size()<<" capacity="<<iVector.capacity()<<" max_size="<<iVector.max_size()<<endl;

    //After resize: size=100 capacity=100  max_size=1073741823

   

    //begin方法

    iVector.resize(5);//修改为5

    INTVECTOR::iterator iter;

    iter = iVector.begin();

    cout<<"First element:"<<*iter<<endl;

    //First element:2

   

    //insert方法

    //PrintIntVector(iVector);

    iter = iVector.insert(iter, 65);

    iVector.insert(iter+1, 2, 30);

    iVector.insert(iVector.end(), iVector.begin(), iVector.end());//复制

    PrintIntVector(iVector);

    //Vector: [65,30,30,2,3,4,1,10,65,30,30,2,3,4,1,10]

   

    //at方法

    cout<<"Fifth element:"<<iVector.at(4)<<endl;

    //Fifth element:3

   

    //front 和 back方法

    cout<<"First element: "<<iVector.front()<< endl;

    cout<<"Last element: "<<iVector.back()<< endl;

    //First element: 65

    //Last element: 10

   

    //erase方法

    iVector.erase(iVector.begin());

    PrintIntVector(iVector);

    //Vector: [30,30,2,3,4,1,10,65,30,30,2,3,4,1,10]

   

    //reverse_iterator使用方法

    INTVECTOR::reverse_iterator riter;

    riter = iVector.rbegin();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vector iterator include c