欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡(jiǎn)單講解c++ vector

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

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

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

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

特別注意:

使用vector需要注意以下幾點(diǎn):

1.加入頭文件 <vector>

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

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

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

一維vector

創(chuàng)建一維vector:

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

添加元素

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

刪除元素

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

其它

獲取長(zhǎng)度:nums.size();

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

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

合并兩個(gè)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

解釋:

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

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

動(dòng)態(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)體類型喲

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

相關(guān)文章

  • C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)的完整代碼

    C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)的完整代碼

    為了免去在窗口排隊(duì)買票的麻煩,飛機(jī)訂票系統(tǒng)應(yīng)運(yùn)而生,下面這篇文章主要給大家介紹了關(guān)于C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • C語言練習(xí)之掃雷小游戲

    C語言練習(xí)之掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言練習(xí)之掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • C語言中程序環(huán)境和預(yù)處理的詳細(xì)圖文講解

    C語言中程序環(huán)境和預(yù)處理的詳細(xì)圖文講解

    這篇文章主要給大家介紹了關(guān)于C語言中程序環(huán)境和預(yù)處理的相關(guān)資料,我們寫的C語言代碼,從運(yùn)行,到在屏幕上生成結(jié)果,經(jīng)歷了比較復(fù)雜的過程,需要的朋友可以參考下
    2023-02-02
  • C++構(gòu)造函數(shù)的初始化列表詳解

    C++構(gòu)造函數(shù)的初始化列表詳解

    這篇文章主要為大家介紹了C++構(gòu)造函數(shù)的初始化列表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Qt學(xué)習(xí)之容器的使用詳解

    Qt學(xué)習(xí)之容器的使用詳解

    Qt容器主要優(yōu)點(diǎn)就是在所有的平臺(tái)上的運(yùn)行都表現(xiàn)的一致,并且它們都是隱含共享的,這篇文章就來和大家講講Qt中容器的具體用法吧,希望對(duì)大家有所幫助
    2023-03-03
  • 淺析C++模板類型中的原樣轉(zhuǎn)發(fā)和可變參數(shù)的實(shí)現(xiàn)

    淺析C++模板類型中的原樣轉(zhuǎn)發(fā)和可變參數(shù)的實(shí)現(xiàn)

    可變參數(shù)模板(variadic templates)是C++11新增的強(qiáng)大的特性之一,它對(duì)模板參數(shù)進(jìn)行了高度泛化,能表示0到任意個(gè)數(shù)、任意類型的參數(shù),這篇文章主要介紹了C++可變參數(shù)模板的展開方式,需要的朋友可以參考下
    2022-08-08
  • C++?自增自減運(yùn)算符的實(shí)現(xiàn)示例

    C++?自增自減運(yùn)算符的實(shí)現(xiàn)示例

    本文主要介紹了C++?自增自減運(yùn)算符的實(shí)現(xiàn)示例,自增和自減運(yùn)算符在C++中主要用于循環(huán)語句中,使循環(huán)變量的值自動(dòng)+1或者-1,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • C++?點(diǎn)(.)和箭頭(->)運(yùn)算符用法小結(jié)

    C++?點(diǎn)(.)和箭頭(->)運(yùn)算符用法小結(jié)

    在C++中,點(diǎn)運(yùn)算符(.)用于訪問類的成員變量和成員函數(shù),而箭頭運(yùn)算符(->)用于通過指針訪問類的成員變量和成員函數(shù),本文就來詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2024-01-01
  • Linux下編譯C程序的過程

    Linux下編譯C程序的過程

    我們總是在Linux下輸入 gcc -o app main.c 即可編譯好程序,對(duì)于具體的詳細(xì)過程及流程,相信親們就不太了解啦!下面給大家展示一下C編譯器的解釋全過程。
    2016-01-01
  • 用while判斷輸入的數(shù)字是否回文數(shù)的簡(jiǎn)單實(shí)現(xiàn)

    用while判斷輸入的數(shù)字是否回文數(shù)的簡(jiǎn)單實(shí)現(xiàn)

    這篇文章主要介紹了用while判斷輸入的數(shù)字是否回文數(shù)的簡(jiǎn)單實(shí)現(xiàn),需要的朋友可以參考下
    2014-02-02

最新評(píng)論