標(biāo)準(zhǔn)模板庫(kù)STL

容器:管理特定類型的對(duì)象的集合。

迭代器:迭代對(duì)象集合的元素。屏蔽了底層容器的實(shí)現(xiàn)。

算法:操作對(duì)象集合的元素,查找,排序,修改等。算法不直接操作容器,通過(guò)迭代器操作。

STL基于數(shù)據(jù)和操作分離的原則,容器管理數(shù)據(jù),算法操作數(shù)據(jù),兩者通過(guò)迭代器結(jié)合。


STL組件


容器

順序容器

array,vector,deque,list,forward_list(一般用數(shù)組或鏈表實(shí)現(xiàn))

關(guān)聯(lián)容器

有序的,set,multiset,map,multimap,在邏輯上可認(rèn)為是順序容器,一般用排序二叉樹(shù)實(shí)現(xiàn)

無(wú)序(關(guān)聯(lián))容器

unsordered_set,unordered_multiset,unsortered_map,unsortered_multimap,一般用hash表實(shí)現(xiàn)

vector

動(dòng)態(tài)數(shù)組,支持隨機(jī)訪問(wèn),在尾后添加刪除元素較快,在中間添加和刪除元素較慢,可能需要改變?nèi)萜鞯娜萘俊?/p>

size() is provided for any container class except singly linked lists (class forward_list).

deque(讀作check)

雙端隊(duì)列,可在兩端增長(zhǎng)的動(dòng)態(tài)數(shù)組,在首尾插入比較快,在中間插入比較慢。

array

固定大小的數(shù)組,只可改變?cè)氐闹担趧?chuàng)建的時(shí)候指定大小。支持隨機(jī)訪問(wèn)。默認(rèn)以類型的默認(rèn)構(gòu)造函數(shù)出初始化,內(nèi)置類型初始值未定義。創(chuàng)建時(shí)需指定大小,作為類型的一部分。

list

雙向,每個(gè)元素保存前驅(qū)和后繼的鏈接,插入和刪除較快,不支持隨機(jī)訪問(wèn)。

forward_list

單向,每個(gè)元素只有后繼的鏈接,不支持push_back,size。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.順序容器 順序容器是將單一類型元素聚集起來(lái)成為容器,然后根據(jù)位置來(lái)存儲(chǔ)和訪問(wèn)這些元素。標(biāo)準(zhǔn)庫(kù)常用順序容器如下:...
    Mr希靈閱讀 874評(píng)論 0 4
  • STL其實(shí)也是模版,它的類型參數(shù)也包含其他模版,一般來(lái)講它的內(nèi)存分配對(duì)象就是另一個(gè)模版。如下圖所示:
    Stroman閱讀 207評(píng)論 0 0
  • STL概覽 在進(jìn)入STL的世界之前,我們先對(duì)其中的主要組件做一個(gè)鳥瞰:先來(lái)一張層次圖: 如果覺(jué)得層次圖看不清的話,...
    Jtag特工閱讀 1,306評(píng)論 0 4
  • C++ 標(biāo)準(zhǔn)模板庫(kù)(STL) 作者:AceTan,轉(zhuǎn)載請(qǐng)標(biāo)明出處! 0x00 何為STL## STL(Standa...
    AceTan閱讀 5,157評(píng)論 3 44
  • 最開(kāi)始并不是通過(guò)讀書喜歡上《老人與?!返?,而是動(dòng)畫,那時(shí)我一直迷戀動(dòng)漫,現(xiàn)在迷戀依舊。我想,到老我依然還是會(huì)喜歡動(dòng)...
    幸存者XCZ閱讀 414評(píng)論 0 1

友情鏈接更多精彩內(nèi)容