中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++的vector使用方法有哪些

發布時間:2022-02-18 13:43:17 來源:億速云 閱讀:140 作者:iii 欄目:開發技術

這篇文章主要講解了“C++的vector使用方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++的vector使用方法有哪些”吧!

    C++vector 用法整理

    1.頭文件

    #include<iostream>//容器
    #include<vector> //算法
    #include<iterator>//迭代器

    一個代碼示例

    #include<iostream>//容器
    #include<vector> //算法
    #include<iterator>//迭代器
    using namespace std;
    int main(int argc, const char* argv[])
    {
        const int SIZE = 6;
        int array[SIZE] = {1,2,3,4,5,6};
        vector<int> v(array,array+SIZE);
        cout<<"First element:"<<v.front()<<"\n Last element"<<v.back()<<endl;
       
    }

    2.vector初始化

    定義十個整形元素的向量(其中初值不確定)

    vector<int> a(10);

    每個元素初值為1;

    vector<int> a(10,1);

    類似于深拷貝的整體賦值方式

    vector<char> a(b);
    
    vector<char> a(b.begin(),b.begin+3);//(a的值為0~2個元素)

    用數組賦初值(和上面一個有點相似)

    vector<int> a(b, b+7);

    3.vector對象的重要操作

    1.賦值(assign)
    a.assign(b.begin(),b.begin()+3); //注意!此處,將b 0~2個元素構成的向量賦值給a!與上面不同!
    
    a.assign(4,2);//  與vector<int> a(10,1);結果相同
    2.返回元素值
    //返回最后一個元素
    a.back();
    //返回第一個元素
    a.front();
    //數組返回式
     a[i];
    3.清空、判斷是否為空
    a.clear();
    
    a.empty();
    4.刪除
    //刪除最后一個元素
    a.pop_back();
    //刪除一塊元素
    a.erase(a.begin(),a.begin()+3);
    5.插入
    //在最后一個向量后插入一個元素
    a.push_back(5);
    // 插入一段元素(從第一個元素算起,插入3個數,值都為5)
    a.insert(a.begin(), 3, 5);
    //用數組插入一段元素(在a的第一個元素的位置插入b的第3個元素到第5個元素)
    a.insert(a.begin(), b+1,b+6);
    
    
    //從現有向量中選擇元素向向量中添加
    int a[6] = {1, 2, 3, 4, 5, 6};
    vector<int> b;
    wector<int> c(a, a+4);
    for(vector<int>::iterator it = c.begin(); it<c.end():it++)
    {
        b.push_back(*it);
    }
    
    
    //從文件讀取元素向向量中添加
    ifstream in("data.txt");
    vector<int> a;
    for(int i;in>>i)
    {
        a.push_back(i);
    }
    6.返回vector的現存元素個數、共可容納個數
    a.size();
    
    a.c apacity();
    7.調整元素個數(這個好牛)
    //將元素個數調整至10,多刪少補,補的值隨機
    a.resize(10);
    //將元素個數調整至10,多刪少補,補的值為2
    a.resize(10,2);
    //大容量擴充(不補充值)
    a.reserve(100);
    8.整體性交換
    a.swap(b);
    9.向量的比較操作
    a==b;
    //還有 !=  >=  <=  >  <
    10.重要算法
    //從小到大排列
    sort(a.begin(), a.end());
    //倒置但不排列
     reverse(a.begin(),a.end());
    //元素復制
    copy(a.begin(),a.end(),b.begin());
    //從某一區塊中查找元素值,返回位置
    find(a.begin(),a.end(),10);

    4.一些誤區

    下標只能獲取已存在的元素,不能進行賦值操作

    //錯誤示例
    vector<int> a;
    for(int i = 0;i<10;i++)
        a[i] = i;

    感謝各位的閱讀,以上就是“C++的vector使用方法有哪些”的內容了,經過本文的學習后,相信大家對C++的vector使用方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    荔波县| 双辽市| 宁明县| 酉阳| 阿克苏市| 泽库县| 贞丰县| 宁阳县| 诸暨市| 阿图什市| 洞口县| 武义县| 合江县| 武夷山市| 南华县| 大田县| 堆龙德庆县| 应城市| 盘锦市| 巨野县| 齐河县| 通江县| 连州市| 永川市| 巩义市| 灵宝市| 舒城县| 建瓯市| 兴国县| 文水县| 克拉玛依市| 乡宁县| 西乡县| 即墨市| 景东| 江津市| 太湖县| 商南县| 玉山县| 白河县| 平乡县|