vector容器基本用法

来源:互联网 发布:淘宝助理官方下载免费 编辑:程序博客网 时间:2024/06/06 09:24
#include<iostream>#include"vector"using namespace std;void printV(vector<int> &v1)     //用来输出容器{    for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++)  //begin指在开始元素, end指在结束元素的后面    {        cout << *it << " ";    }    cout << endl;}void f1(){    vector <int> v1;    cout << "length: " << v1.size() << endl;    //用size()求长度    v1.push_back(1);    v1.push_back(3);    v1.push_back(5);    cout << "length: " << v1.size() << endl;    cout << "头部元素:" << v1.front() << endl;      //获取头部元素    while (v1.size() > 0)    {        cout << "尾部元素: " << v1.back() << endl;      //获取尾部元素        v1.pop_back();                //删除尾部元素    }    //修改头部和尾部元素的值    v1.front() = 11;    v1.back() = 55;    cout << "头部元素:" << v1.front() << endl;    cout << "尾部元素: " << v1.back() << endl;}//vector的定义和迭代器遍历void f2(){    vector <int> v1(10);    for (int i = 0; i < 10; i++)    {        v1[i] = i + 1;    }    //正向遍历    for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++)  //begin指在开始元素, end指在结束元素的后面    {        cout << *it << " ";    }    cout << endl;    //逆向遍历    for (vector<int>::reverse_iterator rit = v1.rbegin(); rit != v1.rend(); rit++)    {        cout << *rit << " ";    }}//vector 删除     插入void f3(){    vector <int> v1(10);    for (int i = 0; i < 10; i++)    {        v1[i] = i + 1;    }    //删除前3个元素    v1.erase(v1.begin(), v1.begin() + 3);    printV(v1);    //在头部删除一个元素    v1.erase(v1.begin());   //在头部删除一个元素    //根据元素的值删除    for (vector<int>::iterator it = v1.begin(); it != v1.end(); )    {        if (*it == 9)            it = v1.erase(it);       //当删除迭代器所指向的元素的时候,erase删除函数会让it自动下移        else                         //同时返回下一个有效的迭代器            it++;    }    printV(v1);    //插入    v1.insert(v1.begin(),100);    v1.insert(v1.end(), 200);    printV(v1);}int main(){    f3();    return 0;}