C++之Vector用法

来源:互联网 发布:开淘宝店方案 编辑:程序博客网 时间:2024/06/05 10:51
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    vector<int> intValue;                         //定义int整型类型的vector对象intValue
    vector<int>::iterator iter;                  //定义int整型类型的迭代器对象iter
    vector<int>::iterator tempIter;         //定义int整型类型的迭代器对象tempiter
    for(int i = 0;i < 10;i++)                     //定义for循环控制结构,从变量i值为0开始,循环10次
    {
        intValue.push_back(i);         //控制结构内实现将i变量递增值逐个放入容器intValue中
    }
    cout<<"intValue size:"<<intValue.size()<<endl;          //通过vector提供的size()方法计算该容器内元素个
    cout<<"intValueelement:";
    for(int i = 0;i < intValue.size();i++)                        //for循环内,通过vector的at方法逐个访问输出元素
    {
        cout<<intValue.at(i)<<" ";
    }
    cout<<endl;
//第三部分代码
    intValue.assign(5,6);                     //通过vector的assign方法来实现容器内元素值的替换
    cout<<"intValue element:";
    for(int i = 0;i < intValue.size();i++)    //通过for循环控制结果循环打印输出容器内元素值
    {
        cout<<intValue.at(i)<<" ";
    }
    cout<<endl;
//第四部分代码
    iter = intValue.begin();            //通过begin()方法将迭代器指向容器intValue第一个元素
    intValue.insert(iter,100);          //通过vector的insert方法将迭代器指向的元素处插入值100
    intValue.insert(iter,3,200);        //通过vector的insert方法将迭代器指向的元素处插入3                                                                                                //个200的值
    cout<<"intValue element:";
    for(iter = intValue.begin();iter != intValue.end();iter++)   //循环控制输出容器元素值
    {
        cout<<*iter<<" ";
    }
    cout<<endl;
//第五部分代码
    cout<<"intValue element:"<<endl;                       //提示下面将会进行一些操作后打印输出容器内容
    int size = intValue.size();                                        //通过vector提供的size()方法获取到该容器内长度
    for(int i = 0;i < size;i++)                                           //通过for循环遍历该容器元素
    {
        iter = intValue.begin();                                   //首先将迭代器指向容器intValue第一个元素
        intValue.erase(iter);                                       //通过vector提供的erase方法删除指向的第一个元素
        for(tempIter = intValue.begin();tempIter !=intValue.end();tempIter++)//通过//临时的迭代器访问输出此                                                                                                                                                  //时容器内的元素值
        {
            cout<<*tempIter<<" ";
        }
        cout<<endl;
    }
    intValue.clear();                                              //通过vector提供的clear()方法清空容器intValue内元素
    if(intValue.empty())                                        //通过if结构,结合vector提供的empty()方法判断容器是否为空
    {
        cout<<"The vector intValue isempty!"<<endl;   //为空则输出提示信息
    }
    else
    {
        cout<<"haveelements!"<<endl;                                     //不为空则输出提示信息
    }
    return 0;
}