1. 程式人生 > 其它 >list-序列式容器

list-序列式容器

模板類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