• vector 应用


    #include <vector>
    vector< 类型 > 标识符 ;
    vector<int>G; 建立int类型
    vector<int> G[N];///二维数组的建立
    for(int i=0;i<N;i++)///清空
    G[i].clear();
    int index = upper_bound(G.begin(), G.end(), k)-G.begin();///查找插入位置

    G.insert(G.begin()+index, k);///在index位插入k

    G.push_back(t) 在数组的最后添加一个值为t的数据

    G.size() 当前使用数据的大小
    G.erase(G.begin()+2);删除第3个元素
    G.erase(G.begin()+1,G.begin()+5);删除下标为1到5-1
    G.empty() 判断vector是否为空 空返回1 否则0
    G[n] 返回v中位置为n的元素
    G.pop_back(); // 删除容器中最后一个元素(容器必须非空)
    G.back(); // 返回容器中最后一个元素的引用
    sort(vi.begin() , vi.end()); /// /小到大
    reverse(vi.begin(),vi.end()) /// 反向 数组反向

    迭代器iterator的使用  以及求和函数的直接应用

    #include<cstdio>
    #include<vector>
    #include<iostream>
    #include<numeric>
    using namespace std;
    int main()
    {
        vector<int> v;///类似于一维数组
        for(int i=0;i<10;i++)
            v.push_back(i);///从后方存入
        for(vector<int>::iterator it=v.begin();it!=v.end();it++)
            cout<<*it<<" "; ///等价于printf("%d ",*it);
        cout<<endl; ///printf("
    ");
        cout<<accumulate(v.begin(),v.end(),0)<<endl;///数组求和函数  头文件为<numeric>
        return 0;
    }

    在vector中间添加数字  

    #include<cstdio>
    #include<vector>
    #include<iostream>
    #include<numeric>
    using namespace std;
    int main()
    {
        vector<int> v(3);
        v[0]=2;
        v[1]=7;
        v[2]=9;
        ///在下标为0 添加8  后面数后移一位
        v.insert(v.begin(),8);///8 2 7 9
        ///在下标为2处添加1  前面数不变 后面数后移一位
        v.insert(v.begin()+2,1);///8 2 1 7 9
        ///在末尾添加3
        v.insert(v.end(),3);///8 2 1 7 9 3
        vector<int>::iterator it;
        for(it=v.begin();it!=v.end();it++)
            cout<<*it<<" ";
        cout<<endl;
        return 0;
    }

    元素的删除

    #include<cstdio>
    #include<vector>
    #include<iostream>
    #include<numeric>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    int main()
    {
        vector<int> v;
        for(int i=0;i<10;i++)
            v.push_back(i);
        ///删除下标为2的数
        v.erase(v.begin()+2);///0 1 3 4 5 6 7 8 9
        ///删除下标从1到5-1的数
        v.erase(v.begin()+1,v.begin()+5);///0 6 7 8 9
        for(int i=0;i<v.size();i++)
            printf("%d ",v[i]);
        return 0;
    }
  • 相关阅读:
    Prim算法的3个版本
    [转]"undefined reference to" 问题解决方法
    C/C++ 读写 Excel
    Poj 3468
    关于PS中矩形工具的学习
    PS初学习
    java第二天学习。
    Java学习第一天
    二叉树的线索化
    struct files_struct
  • 原文地址:https://www.cnblogs.com/a719525932/p/7850014.html
Copyright © 2020-2023  润新知