1.vector 可變大小陣列。支援快速隨機訪問。在尾部之外的位置插入或刪除元素可能很慢
2.deque 雙端佇列。支援快速隨機訪問。在頭尾位置插入/刪除速度很快
3.list 雙向鍊錶。只支援雙向順序訪問。在list中任何位置進行插 入/刪除操作速度都很快。
4.forward_list 單向鍊錶。只支援單向順序訪問。在鍊錶任何位置進行插入/刪除操作速度都很快。
5.array 固定大小陣列。支援快速隨機訪問。不能新增或刪除元素
6.string 與vector相似的容器,但專門用於儲存字元。隨機訪問快。在尾部插入/刪除速度快。
選擇容器原則
除非你有很好的理由選擇其他容器,否則應使用vector。
如果你的程式有很多小的元素,且空間的額外開銷很重要,則不要使用list或forward_list。
如果程式要求隨機訪問元素,應使用vector或deque。
如果程式要求在容器的中間插入或刪除元素,應使用list或forward_list。
如果程式需要在頭尾位置插入或刪除元素,但不會在中間位置進行插入或刪除操作,則使用deque。
如果程式只有在讀取輸入時才需要在容器中間位置插入元素,隨機需要隨機訪問元素,則
-首先,確定是否真的需要在容器中間位置新增元 素。當處理輸入資料時,通常可以很容易地向vector追加資料,然後再呼叫標準庫的sort函式來重排容器中的元素,從而避免在中間位置新增元素。
-如果必須在中間位置插入元素,考慮在輸入階段使用list,一旦輸入完成,將list中的內容拷貝到乙個vector中。
順序容器概述
元素在容器中的排列次序只與元素加入容器的次序有關,可以按照順序訪問元素。按照元素在記憶體中儲存的方式,可以將順序容器分為連續儲存和離散儲存兩種 連續儲存的順序容器 容器在記憶體中佔據一整塊連續的記憶體空間,元素在容器中的排列方式就是在物理記憶體中的排列方式。這樣的順序容器有兩個特點 可以隨機訪問元素...
順序容器概述
1.順序容器型別 vector 可變大小陣列 deque 雙端佇列 list 雙向鍊錶 forward list 單向鍊錶 array 固定大小陣列 string 字串,與vector類似,但專門用於儲存字元 2.選擇容器的基本原則 使用vector,除非有很好的理由選擇其他容器 程式有很多小的元素...
C 容器概述
一 迭代器iterator 迭代器 迭代器是類似指標的物件,stl演算法利用它們對儲存在容器中的物件序列進行遍歷。維基百科 1 輸入迭代器 2 輸出迭代器 3 前向迭代器 4 雙向迭代器 5 隨機訪問迭代器istream iterator 輸入流迭代器 istreambuf iterator 輸入流...