容器是用來存放資料的,掌握容器特性才能更好地選擇合適的容器載資料。
這裡要記住,
可自主選擇插入的位置
vectors:可隨機訪問,可變長陣列,可快速在尾部插入刪除,不適合在中部頭部頻繁插入刪除
deques:可隨機訪問,佇列,先進先出,可快速在頭部尾部插入刪除,同樣不適合在中部插入刪除元素
list:不可隨機訪問,鍊錶,方便在隨機處做插入刪除,修改指標即可
*以上容器叫序列式容器,查詢相對關聯式容器比較慢。
插入的同時排序
這種容器叫關聯式容器,插入的同時排序,所以這些容器在查詢上比較快,但是不能自主決定元素插入的位置
sets/multisets:前者和後者的區別就是前者不允許存在相同值的元素,後者允許,內部原理都是依賴於排序二叉樹
maps/multimaps:前者後者的區別也是前者不允許存值相同的元素,這個和set不同的是map是鍵值對一一對應的,也就是對映
參考的blog
STL學習筆記
1.stl六大元件 1 容器 各種資料結構,如vector,list,deque,set,map,用來存放資料,從實現的角度看,stl容器是一種class template。2 演算法 各種常用的演算法如sort,search,copy,erase.從實現的角度看,stl演算法是一種function...
STL 學習筆記 default alloc
下面是沒有加上多執行緒安全的default alloc template模板類以及實現 o 本人比較懶,自己寫的注釋都寫在書上了,覺得自己敲出來理解的更加透徹些。template class default alloc template enum enum union obj static obj ...
STL學習筆記 01
1.容器 containers 各種資料結構 2.演算法 algorithms 各種常用演算法 3.迭代器 iterators 容器和演算法之間的膠合劑 4.仿函式 functors 行為類似函式,可作為演算法的某種策略 5.配接器 adapters 一種用來修飾容器或仿函式或迭代器介面的東西 6....