順序容器概述

2021-08-10 02:27:00 字數 1163 閱讀 1950

元素在容器中的排列次序只與元素加入容器的次序有關,可以按照順序訪問元素。

按照元素在記憶體中儲存的方式,可以將順序容器分為連續儲存和離散儲存兩種

連續儲存的順序容器

容器在記憶體中佔據一整塊連續的記憶體空間,元素在容器中的排列方式就是在物理記憶體中的排列方式。

這樣的順序容器有兩個特點:

可以隨機訪問元素在容器中間插入或刪除元素,由於要保持元素在記憶體中的連續性,要移動大量的元素,因此很慢

在標準庫中這樣的容器有:

1 . vector 變長陣列只在尾部插入元素快

2 .deque 雙端佇列在頭尾插入刪除元素都很快

3 .string 字串類似vector,但只用來儲存字元,額外定義了很多字元操作函式

4 .array 固定大小陣列固定大小,不能插入刪除元素

離散儲存的順序容器

元素在物理記憶體中是隨機儲存的,通過指標串聯起來。

這樣的容器有兩個特點:

不可以隨機訪問元素,只能按照順序乙個乙個訪問在容器的任何地方插入元素都很快

在標準庫中這樣的容器有:

1 . list 雙向鍊錶支援雙向順序訪問

2 . forward_list 單向鍊錶只支援單向順序訪問

上面分類的兩種容器特性是互斥的

同一種容器隨機訪問快速中間插入不可兼得

如果同時需要隨機訪問和快速中間插入這兩個特性怎麼辦

順序容器概述

1.順序容器型別 vector 可變大小陣列 deque 雙端佇列 list 雙向鍊錶 forward list 單向鍊錶 array 固定大小陣列 string 字串,與vector類似,但專門用於儲存字元 2.選擇容器的基本原則 使用vector,除非有很好的理由選擇其他容器 程式有很多小的元素...

c 順序容器概述

1.vector 可變大小陣列。支援快速隨機訪問。在尾部之外的位置插入或刪除元素可能很慢 2.deque 雙端佇列。支援快速隨機訪問。在頭尾位置插入 刪除速度很快 3.list 雙向鍊錶。只支援雙向順序訪問。在list中任何位置進行插 入 刪除操作速度都很快。4.forward list 單向鍊錶。...

容器 順序容器

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