2018-01-18

1、容器的概念

容器就是一些特定類型對(duì)象的集合。

2磅摹、容器的分類

容器主要分為順序容器和關(guān)聯(lián)容器滋迈。順序容器為程序員提供了控制元素存儲(chǔ)和訪問(wèn)順序的能力,這種順序不依賴于元素的值户誓,而與元素加入容器時(shí)的位置相對(duì)應(yīng)饼灿。關(guān)聯(lián)容器則是根據(jù)關(guān)鍵字的值來(lái)存儲(chǔ)元素。

3帝美、順序容器

重點(diǎn)講述使用最多的vector容器碍彭。

vector 是一個(gè)類模板(class template),要包含相應(yīng)的頭文件#include<vector>悼潭。vector屬于std命名域庇忌,使用全局命名域方式using namespace std;

(1)vector的初始化:

(2)創(chuàng)建vector對(duì)象: vector是模板而非類型,由vector生成的類型必須包含vector中元素的類型舰褪。如:vector<int>?ivec1;? ? //ivec1保存int類型的對(duì)象

(3)vector中的操作:

添加元素

vec.push_back(a) //在數(shù)組的最后添加一個(gè)數(shù)據(jù)a

vec.insert(pos,elem) //在pos位置插入一個(gè)elem拷貝漆枚,傳回新數(shù)據(jù)位置

vec.insert(vec.begin()+i,a);在第i+1個(gè)元素前面插入a;

刪除元素

vec.pop_back() //刪除數(shù)組的最后一個(gè)數(shù)據(jù)

vec.erase(pos) //刪除pos位置的數(shù)據(jù),傳回下一個(gè)數(shù)據(jù)的位置

vec.erase(vec.begin()+2);刪除第3個(gè)元素

vec.erase(vec.begin()+i,vec.end()+j);刪除區(qū)間[i,j-1];區(qū)間從0開(kāi)始

vec.clear() //刪除vec中所有元素抵知,返回void

vec向量的大小

vec.size() //返回容器中實(shí)際數(shù)據(jù)的個(gè)數(shù)。

vec.empty() //判斷vector是否為空软族,里面有數(shù)據(jù)返回false,否則返回true

獲取迭代器

vec.begin() //返回vec的首元素

vec.end() //返回尾元素之后元素的位置刷喜,即最后一個(gè)單元+1的指針

vec.rbegin() //將vector反轉(zhuǎn)后的開(kāi)始指針?lè)祷?其實(shí)就是原來(lái)的end()-1)

vec.rend() //將vector反轉(zhuǎn)構(gòu)的結(jié)束指針?lè)祷?其實(shí)就是原來(lái)的begin-1)

訪問(wèn)vector中的數(shù)據(jù)

第一種方式 vec.at(index) //函數(shù)和[]函數(shù)使用可以說(shuō)是一模一樣. 都是為了訪問(wèn)對(duì)應(yīng)index中存儲(chǔ)的數(shù)據(jù), 如果index大于vector的size. 兩者都是拋出out_of_range的exception.

第二種方式 vector::operator[]?

operator[]主要是為了與C語(yǔ)言進(jìn)行兼容。它可以像C語(yǔ)言數(shù)組一樣操作立砸,由于operator[]容易造成一些錯(cuò)誤掖疮,所有我們很少用它

vector其他成員函數(shù)

vec.assign(beg,end) //將[beg; end)區(qū)間中的數(shù)據(jù)賦值給c。

vec.assign(n,elem) //將n個(gè)elem的拷貝賦值給c颗祝。

vec.back() //傳回最后一個(gè)數(shù)據(jù)浊闪,不檢查這個(gè)數(shù)據(jù)是否存在。

vec.front() //傳回地一個(gè)數(shù)據(jù)螺戳。

vec.swap(b) //交換vec和b中元素

swap(a,b) //和vec.swap(b)一樣

4搁宾、關(guān)聯(lián)容器

重點(diǎn)講述關(guān)聯(lián)容器map。map是c++的一個(gè)標(biāo)準(zhǔn)容器倔幼,它提供了很好的一對(duì)一的關(guān)系盖腿。map容器的元素是一些關(guān)鍵字——值(key-value)對(duì),key和value可以是你想要的任意類型损同,關(guān)鍵字起到了索引的作用翩腐,值則表示與索引相關(guān)的聯(lián)的數(shù)據(jù)。換句話說(shuō)膏燃,就是通過(guò)key可以找到相應(yīng)的value茂卦。

(1)創(chuàng)建map:

map?<key_type,value_type>tempMap;

(2)map初始化:

map tempMap{

  {key1,value1},

  {key2,value2},

  ......};


舉例:



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末组哩,一起剝皮案震驚了整個(gè)濱河市等龙,隨后出現(xiàn)的幾起案子处渣,更是在濱河造成了極大的恐慌,老刑警劉巖而咆,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霍比,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡暴备,警方通過(guò)查閱死者的電腦和手機(jī)悠瞬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)涯捻,“玉大人浅妆,你說(shuō)我怎么就攤上這事≌习” “怎么了凌外?”我有些...
    開(kāi)封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)涛浙。 經(jīng)常有香客問(wèn)我康辑,道長(zhǎng),這世上最難降的妖魔是什么轿亮? 我笑而不...
    開(kāi)封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任疮薇,我火速辦了婚禮,結(jié)果婚禮上我注,老公的妹妹穿的比我還像新娘按咒。我一直安慰自己,他們只是感情好但骨,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布励七。 她就那樣靜靜地躺著,像睡著了一般奔缠。 火紅的嫁衣襯著肌膚如雪掠抬。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天校哎,我揣著相機(jī)與錄音剿另,去河邊找鬼。 笑死贬蛙,一個(gè)胖子當(dāng)著我的面吹牛雨女,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阳准,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼氛堕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了野蝇?” 一聲冷哼從身側(cè)響起讼稚,我...
    開(kāi)封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤括儒,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后锐想,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帮寻,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贞岭。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡懊渡,死狀恐怖骄呼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布贝攒,位于F島的核電站,受9級(jí)特大地震影響时甚,放射性物質(zhì)發(fā)生泄漏隘弊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一荒适、第九天 我趴在偏房一處隱蔽的房頂上張望梨熙。 院中可真熱鬧,春花似錦吻贿、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至卧蜓,卻和暖如春帐要,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弥奸。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工榨惠, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盛霎。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓赠橙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親愤炸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子期揪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 登錄getUser這個(gè)接口用不同的id和unionId去查,總是出現(xiàn)同一個(gè)結(jié)果规个。查接口凤薛,斷點(diǎn)檢查姓建。斷點(diǎn)顯示數(shù)據(jù)是正...
    Catch_the_tail閱讀 722評(píng)論 4 0
  • 參考:http://blog.csdn.net/permike/article/details/51879578 ...
    ihujian閱讀 204評(píng)論 0 1
  • 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)—OSI七層模型 1、OSI七層模型分別是: 1.1應(yīng)用層:為應(yīng)用程序提供接口缤苫,是程序能夠使用網(wǎng)絡(luò)服...
    生活鴿子閱讀 717評(píng)論 0 0
  • 你和我速兔,做為一個(gè)生命體,都是極其偶然的存在活玲。當(dāng)然涣狗,還有他。 故事的主角李先生翼虫,我們已經(jīng)三十多年沒(méi)見(jiàn)面了屑柔。即便在三十...
    海月先生閱讀 554評(píng)論 3 7
  • 我家楊女士一如既往的樂(lè)觀 寬慰我不要想太多不要為沒(méi)有發(fā)生的事兒擔(dān)憂 自己的都是好的 沒(méi)事去做做汗蒸啥的 就想到我爸...
    巴普洛夫有點(diǎn)忙閱讀 310評(píng)論 0 0