美文网首页
C++ Vector用法

C++ Vector用法

作者: Airjoden | 来源:发表于2019-02-11 15:30 被阅读0次

    vector 是向量类型,它可以容纳许多类型的数据,称其为容器。vector 是C++ STL的一个重要容器,使用它时需要包含头文件:#include<vector>

    #include<vector>
    #include<iostream>
    #include<algorithm>
    
    using namespace std;
    int main()
    {
        // vector<int> a(10); // 初始化1:定义了10个整型元素的向量 
        // vector<int> a(10, 2); //初始化2: 全部初始值为2 
        //int arr[9] = {1,2,3,4,5,6,7,8,9};
        int arr[9] = {1,2,4,9,7,8,3,6};
        vector<int> a(arr, arr+9); // 初始化3: 从数组中获得初值(常) 
        //vector<int> b(a); // 初始化4:用a向量来创建b向量,整体复制性赋值
        vector<int> b(a.begin(), a.begin()+3); // 初始化5:用a向量来创建b向量,b部分复制:从0到3 
        b.assign(a.begin()+3, a.begin()+6); //复制操作 
        cout << a.size() << endl; // 输出vector中元素个数
        cout << a.capacity() << endl;
        cout << "----------a:" << endl;
        for(int i = 0;i < a.size(); i++)
        {
            cout << i << ":  " << a[i] << endl;
        }
        cout << "---------b:" << endl;
        for(int i = 0; i < b.size(); i++)
        {
            cout << i << ":  " << b[i] << endl;
        }
        for(int i = 0; i < b.size(); i++)
        {
            cout << i << ":  " << b[i] << endl;
        }
        cout << "----------- 操作:" << endl; 
        cout << a.back() << endl; // 返回a的最后一个元素a[a.size()-1] 
        cout << a.front() << endl; // 返回a的第一个元素a[0] 
        // a.clear(); // 清空
        cout << a.empty() << endl; // 判断是否为空
        // a.pop_back(); //删除a向量的最后一个元素
        // a.push_back(5); // 在a的最后一个向量最后插入一个元素,其值为5
        // a.erase(a.begin()+1,a.begin()+3); //删除a[1],a[2]
        // a.insert(a.begin()+1, 5); //在a[1]处插入5
        // a.insert(a.begin()+1,3,5); //在a[1]处插入3个5
        // a.insert(a.begin()+1,arr+3,arr+6); //在a[1]处插入数组arr的第三个到第五个数 
        // a.resize(5); //调整容量
        // a.swap(b); //a跟b这两个vector整体交换
        cout << "---------------算法:" << endl;
        sort(a.begin(), a.end());
        reverse(a.begin(), a.end());
        vector<int>::iterator it = find(a.begin(), a.end(), 10);
        cout << "------------操作后的a: " << endl;
        for(int i = 0; i < a.size(); i++)
        {
            cout << i << ":  " << a[i] << endl;
        }
        // for(vector<int>::iterator it = a.begin() it < a.end(); it++)
        //     cout << *it << endl;
        // cout << "------------操作后的b:" << endl;
        // for(int i = 0; i < b.size(); i++)
        //{
        //  cout << i << ":  "  << b[i] << endl;
        //}
        return 0;
    } 
        
    

    相关文章

      网友评论

          本文标题:C++ Vector用法

          本文链接:https://www.haomeiwen.com/subject/aelteqtx.html