C STL 之容器篇

2022-09-06 05:27:06 字數 690 閱讀 8951

stl 是標準模板庫,由容器,演算法,迭代器和容器介面卡組成。

容器有:vector(陣列, 順序儲存), list(鍊錶,可以翻轉,可以在頭尾新增,insert快,不可用 [ ] 和at),deque (vector和list 的居中版,一部分順序,一部分用鍊錶的形式儲存,記憶體使用更加合理)

map,set(關聯式容器,預設有序的,使用二叉樹,以紅黑樹為基礎進行設計,其實是:簡化的,平衡的,二叉查詢樹。 map 和 set 都是以資料關係 pair為基礎的)

unorder_map ( hash表的形式儲存的關聯式容器)

其中,vector是動態陣列,或者稱為向量。其用法為:

#includeint

main()

2. queue 是雙端佇列,支援vector不支援的push_front()和 pop_front()

3. list 是鍊錶,雙向鍊錶,只能順序訪問,但是不能用【】進行隨機訪問

4. set 是集合,multisets 是多集,區別是乙個可重複,乙個不可以重複,預設是排好順序的。

5. map 和multimaps 類似於python中的字典,由key和value 組成,在multimaps中乙個key可以對應著多個value

#includeint

main()

cout<

}

C STL篇(三)容器之string容器

3.1string 容器基本概念 c風格的字串 以空字元結尾的字元陣列 太過於複雜,難以掌握,不適合大程式的開發,c 標準庫定義了一種string類,定義在標頭檔案中 string和c的風格對比 a char是乙個指標,而string是乙個類 string封裝了char,管理字串,是char型的乙個...

C STL容器總結篇之map

map是stl的乙個容器,和set一樣,map也是一種關聯式容器。它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map 現一次,第二個可能稱為該關鍵字的值 的資料處理能力,由於這個特性,有助於我們處理一對一資料。這裡說下map內部資料的組織,map內部是自建一顆紅黑樹 一種非嚴格意義上的平...

c STL容器之map容器

1.map中所有的元素都是pair 2.pair元素中第乙個元素為key,第二個元素為value 3.所有元素都會根據鍵值自動排序 4.map中不允許有重複的鍵,multimap中允許有重複的鍵 優點 可以根據key快速的找到value 一 建構函式 mapmp map const map mp 二...