最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單講解c++ vector

 更新時間:2020年09月12日 09:23:49   作者:TONG  
這篇文章主要介紹了c++ vector的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下

在c++中,vector是一個十分有用的容器。

作用:它能夠像容器一樣存放各種類型的對象,簡單地說,vector是一個能夠存放任意類型的動態(tài)數(shù)組,能夠增加和壓縮數(shù)據(jù)。

vector在C++標準模板庫中的部分內(nèi)容,它是一個多功能的,能夠操作多種數(shù)據(jù)結(jié)構(gòu)和算法的模板類和函數(shù)庫。

特別注意:

使用vector需要注意以下幾點:

1.加入頭文件 <vector>

2.如果你要表示的向量長度較長(需要為向量內(nèi)部保存很多數(shù)),容易導(dǎo)致內(nèi)存泄漏,而且效率會很低;

3.Vector作為函數(shù)的參數(shù)或者返回值時,需要注意它的寫法:

double Distance(vector &a, vector &b) 其中的“&”絕對不能少?。?!

一維vector

創(chuàng)建一維vector:

vector<int> nums;    //不指定長度
vector<int> nums(n);  //指定長度為n

添加元素

nums.push_back(1);   //直接從數(shù)組末端添加
nums[i]=1;       //直接賦值給第i個位置
nums.insert(nums.begin()+i,a); //在第i+1個元素前插入a

刪除元素

nums.resize(nums.size-i);  //直接將數(shù)組長度減少,某種意義上刪掉了后面i個
nums.pop_back();       //刪掉最后一個元素
nums.erase(nums.begin()+i); //刪掉第i+1個元素
nums.erase(nums.begin()+i,nums.end()+j);  //刪除區(qū)間[i,j-1],區(qū)間從0開始
nums.clear();        //清空

其它

獲取長度:nums.size();

排序(O(nlogn)):sort(nums.begin(),nums.end());

翻轉(zhuǎn):reverse(nums.begin(),nums.end());

合并兩個vector:合并nums1和nums2,并將合并的數(shù)組賦值給nums

vector<int> nums1(m),nums2(n);
vector<int> nums;
nums.resize(m+n);
merge(nums1.begin(),nums1.end(),nums2.begin(),nums2.end(),nums);

二維vector

創(chuàng)建M*n二維vector

vector< vector<int> > nums(m,vector<int>(n));  //m*n的二維vector

解釋:

定義了一個vector容器,元素類型為vector ,初始化為包含m個vector 對象,每個對象都是一個新創(chuàng)立的vector 對象的拷貝,而這個新創(chuàng)立的vector 對象被初始化為包含n個0。

vector (n)表示構(gòu)造一個無名且含n個0的vector 對象。

動態(tài)創(chuàng)建m*n的二維vector

方法一

vector<vector <int> > nums;3

nums.resize(m);
for(int i=0;i<m;i++) nums[i].resize(n);

方法二

vector<vector <int> > nums;
nums.resize(m,vector<int>(n));

初始化二維數(shù)組

vector<vector <int> > nums(m ,vector<int>(n,0));  //m*n的二維vector,所有元素為0

獲得二維數(shù)組的行數(shù):nums.size();

獲得二維數(shù)組的列數(shù):nums[0].size();

數(shù)組遍歷

int m = nums.size(),n = nums[0].size();
for(int i = 0; i < m; i++){
  for(int j = 0; j < n; j++){
    cout<<nums[i][j]<<endl;
  }
}

用vector還可以用結(jié)構(gòu)體類型喲

以上就是簡單講解c++ vector的詳細內(nèi)容,更多關(guān)于c++&vector的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++編程中指針的聲明與基本使用講解

    C++編程中指針的聲明與基本使用講解

    這篇文章主要介紹了詳解C++編程中C++編程中指針的聲明與基本使用講解,文中舉了簡單的例子來講如何在基本的數(shù)據(jù)結(jié)構(gòu)中使用指針,以及固定和可變指針的介紹,需要的朋友可以參考下
    2016-01-01
  • C++中引用&與取地址&的區(qū)別分析

    C++中引用&與取地址&的區(qū)別分析

    這篇文章主要介紹了C++中引用&與取地址&的區(qū)別,有助于C++初學(xué)者更好的掌握指針的概念及用法,需要的朋友可以參考下
    2014-09-09
  • 聊聊C++的mutable和volatile

    聊聊C++的mutable和volatile

    這篇文章主要介紹了C++的mutable和volatile的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-09-09
  • C語言中輸入函數(shù)(scanf()、fgets()和gets())的區(qū)別詳解

    C語言中輸入函數(shù)(scanf()、fgets()和gets())的區(qū)別詳解

    這篇文章主要給大家介紹了關(guān)于C語言中三種輸入函數(shù)(scanf()、fgets()和gets())區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Matlab實現(xiàn)同步子圖視角的方法詳解

    Matlab實現(xiàn)同步子圖視角的方法詳解

    這篇文章主要和大家分享三個可以Matlab中更簡便實現(xiàn)同步子圖視角的技巧,文中的示例代碼講解詳細,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-06-06
  • 簡單了解C語言中主線程退出對子線程的影響

    簡單了解C語言中主線程退出對子線程的影響

    這篇文章主要介紹了簡單了解C語言中主線程退出對子線程的影響,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • C++的try塊與異常處理及調(diào)試技術(shù)實例解析

    C++的try塊與異常處理及調(diào)試技術(shù)實例解析

    這篇文章主要介紹了C++的try塊與異常處理及調(diào)試技術(shù)實例解析,有助于讀者加深對try塊調(diào)試技術(shù)的認識,需要的朋友可以參考下
    2014-07-07
  • C++編程中使用設(shè)計模式中的policy策略模式的實例講解

    C++編程中使用設(shè)計模式中的policy策略模式的實例講解

    這篇文章主要介紹了C++編程中使用設(shè)計模式中的policy策略模式的實例講解,文章最后對策略模式的優(yōu)缺點有一個簡單的總結(jié),需要的朋友可以參考下
    2016-03-03
  • QT實現(xiàn)QMessageBox中文按鈕示例詳解

    QT實現(xiàn)QMessageBox中文按鈕示例詳解

    這篇文章主要為大家詳細介紹了QT實現(xiàn)QMessageBox中文按鈕的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • opencv實現(xiàn)機器視覺檢測和計數(shù)的方法

    opencv實現(xiàn)機器視覺檢測和計數(shù)的方法

    在機器視覺中,有時需要對產(chǎn)品進行檢測和計數(shù)。其難點無非是對于產(chǎn)品的圖像分割。本文就來介紹一下機器視覺檢測和計數(shù)的實現(xiàn),感興趣的可以參考一下
    2021-05-05

最新評論

宁都县| 个旧市| 株洲市| 弥勒县| 含山县| 额济纳旗| 江安县| 勃利县| 丹东市| 昔阳县| 通化市| 静海县| 钟山县| 凯里市| 上饶市| 讷河市| 安顺市| 象山县| 牟定县| 巴里| 竹溪县| 彭州市| 若羌县| 长兴县| 太仆寺旗| 乐都县| 云龙县| 南江县| 河池市| 卢龙县| 米林县| 旬阳县| 牟定县| 青州市| 云安县| 尚义县| 石阡县| 金乡县| 新绛县| 洛浦县| 邯郸市|