1. 程式人生 > >C++11標準下STL的容器分類

C++11標準下STL的容器分類

第一種:順序容器

1、vector:可變陣列。支援快速隨機訪問。在尾部之外的位置插入或刪除元素可能很慢;

2、deque:雙端佇列。支援快速隨機訪問。在頭尾位置插入/刪除速度很快;

3、list:雙向連結串列。只支援雙向順序訪問。在list任何位置進行插入/刪除操作速度都很快;

4、forward_list:單向連結串列。只支援單向順序訪問。在連結串列任何位置進行插入/刪除操作速度都很快;

5、array:固定大小陣列。支援快速隨機訪問。不能新增或刪除元素;

6、string:與vector相似的容器,但專門用於儲存字元。隨機訪問快。在尾部插入/刪除速度快;

第二種:關聯容器

按關鍵字有序儲存元素:

1、map:關聯陣列。儲存關鍵字-值對;

2、set:關鍵字即值,即只儲存關鍵字的容器;

3、multimap:關鍵字可重複出現的map;

4、multiset:關鍵字可重複出現的set;

無序集合:

1、unordered_map:用雜湊函式組織的map;

2、unordered_set:用雜湊函式組織的set;

3、unordered_multimap:用雜湊函式組織的map,關鍵字可以重複出現;

4、unordered_multiset:用雜湊函式組織的set,關鍵字可以重複出現。