• vector详解


    /*vector向量容器*/
    
    //用数组方式访问vector元素 
    #include<iostream>
    #include<vector>
    #include<cstdio> 
    using namespace std;
    int main()
    {
        vector<int>v;
        v.push_back(20);//尾端插入新元素
        v.push_back(26);
        v.push_back(12);
        for(int i=0;i<v.size();i++) 
            cout<<v[i]<<' '; 
        getchar();
        return 0;
    }
    //输出:20 26 12
    
    //用迭代器访问vector
    #include<iostream>
    #include<vector>
    #include<cstdio>
    using namespace std;
    vector<int>v;
    void print()//迭代器遍历 
    {
        int j;
        vector<int>::iterator i;
        for(i=v.begin(),j=0;i!=v.end();i++,j++)
          cout<<"v["<<j<<"]="<<*i<<" ";
        cout<<endl;
    } 
    int main()
    {
        int j;
        v.push_back(0);/*尾端插入新元素*/ print();
        v.push_back(1);print();
        /*v.clear();全部清空元素 */
        v.push_back(2);print();
        v.insert(v.begin()+2,9);/*插入9在第二个后面 */print();
        v.insert(v.begin(),5);/*插入5为首元素print(); */print();
        v.insert(v.end(),12);/*插入12为末元素 */print();
        
        v.erase(v.begin()+1);/*删除第2个元素 */print();
        v.erase(v.begin(),v.begin()+2);/*删除前两个元素 */print();
        
        swap(v[1],v[2]);print();
        
        cout<<v.empty()<<endl;/*判断是否为空 */
        cout<<v.size()<<endl;/*元素实际个数 */
        cout<<v.max_size()<<endl;/*可容纳的最大元素个数 */
        cout<<v.size()<<endl;
        cout<<v.capacity()<<endl;/*当前可容纳的vector元素个数 */
        cout<<v.front()<<endl;/*首元素引用*/ 
        cout<<v.back()<<endl;/*末元素引用 */
        v.pop_back();/*删除末尾的一个元素 */print();
        
        v.reserve(30);/*调整数据空间大小 */
        cout<<v.capacity()<<endl;
        
        vector<int>::reverse_iterator ri;//反向迭代器 
        for(ri=v.rbegin();ri!=v.rend();ri++)//首尾反向 
          cout<<*ri<<" ";
        getchar();
        return 0;
    }
    
    /*输出:
    v[0]=0
    v[0]=0 v[1]=1
    v[0]=0 v[1]=1 v[2]=2
    v[0]=0 v[1]=1 v[2]=9 v[3]=2
    v[0]=5 v[1]=0 v[2]=1 v[3]=9 v[4]=2
    v[0]=5 v[1]=0 v[2]=1 v[3]=9 v[4]=2 v[5]=12
    v[0]=5 v[1]=1 v[2]=9 v[3]=2 v[4]=12
    v[0]=9 v[1]=2 v[2]=12
    v[0]=9 v[1]=12 v[2]=2
    0
    3
    1073741823
    3
    8
    9
    2
    v[0]=9 v[1]=12
    30
    12 9*/ 
    /*reverse 颠倒
    vector 向量*/ 
  • 相关阅读:
    牛客练习赛27 水图(思维+暴搜)
    差分
    矩阵化一维
    倍增法 求公共祖先
    vector 牛逼 +lower_bound+ upper_bound
    cmp和sort
    字符串的比较
    s 贪心
    太鼓达人 (有位运算的作用,但可能理解错了哈哈)
    kao shi di er ti(还没有订正)
  • 原文地址:https://www.cnblogs.com/thmyl/p/6062575.html
Copyright © 2020-2023  润新知