list-序列式容器
阿新 • • 發佈:2022-02-16
模板類list是一個容器,list 是由雙向連結串列來實現的,每個節點儲存1個元素。list支援前後兩種移動方向。list和 vector類似,提供了對元素的隨機訪問。list 的優勢在於任何位置執行插入和刪除動作都非常迅速,因為改變的僅僅是連結而已。在 list中移動元素要比在vector和 deque中快得多。list模板類是定義於名稱空間(namespace) std中的,該類模板的宣告形式為:
模板的第2個引數可有可無,適用於指定記憶體模型
template<class T,class Allocator=allocator<T>> class list;
1.標頭檔案 <list>
2.List的內部結構和 vector不同
①list不支援隨機存取。
②在 list 的任何位置執行元素的插入和移除都非常快,可以迅速實現。
插入和刪除動作不會影響指向其他元素的指標、引用、迭代器,不會造成失效。
③list不支援隨機存取,不提供下標操作符和 at()函式。
④list沒有提供容量、空間重新分配等操作函式,每個元素都有自己的記憶體。
⑤list也提供了特殊成員函式,專門用於移動元素。和同名的演算法相比,速度更快。
3.list的定義
解釋 ①list<A> listname(size, value); 建立初始大小為size,每個元素初始值為value的 list物件 ④list<A> listname(size) 建立初始大小為size的 list物件 ②list<A> listname(elselist) 用複製建構函式,從現有的list 中建立新的 list物件; ③list<A> listname(first, last) 建立1個list物件,並從其他list物件中複製由迭代器指定範圍的多個元素。 ⑤list<int> mylist