順序容器小記

2021-07-27 11:09:28 字數 609 閱讀 1961

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

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

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

list:雙向鍊錶。只支援雙向順序訪問。在list中任何位置進行插入/刪除操作速度都很快。

forward_list:單向鍊錶。只支援單向順序訪問。在鍊錶任何位置進行插入/刪除都很快。

單向鍊錶的新增和刪除元素比較特殊,當新增或刪除乙個元素時,刪除或新增的元素之前的那個元素的後繼會發生改變。為了新增或刪除乙個元素,我們需要訪問其前驅,以便改變前驅的鏈結,但是在單向鍊錶中,沒有簡單的方法來獲取乙個元素的前驅。所以在forward_list中新增或刪除乙個元素的操作室通過改變給定元素之後的元素來完成的。

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

通常使用vector是最好的選擇,除非有特殊需求。

除array外,交換兩個容器內容的操作保證會很快——元素本身並未交換,swap只是交換了兩個容器的內部資料結構。例如,對於string只是交換了乙個「殼」,但是對於array是交換了「殼」裡面的值。

容器 順序容器

容器 include include include 容器元素型別必須滿足 1.支援賦值運算 2.物件可以複製 而io庫型別這兩個都不支援,因此,不能建立存放io型別物件的容器 容器的容器 記得加空格 list vector a list容器迭代器不支援演算法運算 也不支援關係運算 等,它只有自增,...

容器 順序容器 關聯容器

容器分為 順序容器 關聯容器,示意圖如下 順序容器 只儲存值,關聯容器 key value形式,關聯容器的乙個元素包含兩個部分 鍵值對 key value 有序容器 底層實現為紅黑樹,即容器內的key是有序的 無序容器 底層實現為hash table,雜湊表 區別 順序容器通過元素在容器中的位置順序...

stl容器之順序容器

stl容器分為順序容器和關聯容器 其中順序容器最常用的由vector,list,queue 1.vector vector 向量容器,可以看作變長陣列,長度可根據需要自行變化。使用的標頭檔案 include 定義方式 vector陣列名 vectorar 訪問容器內資料的方式和普通陣列相同,可以用a...