C 容器之鍊錶list

2021-10-14 18:33:45 字數 2724 閱讀 9569

#include

using

namespace std;

list是動態鍊錶,跟vector一樣,是個類模板

list<

int>list_int;

//定義了乙個內部元素是int的鍊錶

list<

char

>list_char;

//定義了乙個內部元素是char的鍊錶;

listlist_student;

//定義了乙個內部元素是cstring的鍊錶

list<

char

*>list_pchar;

//定義了乙個內部元素是char*的鍊錶

#include

using

namespace std;

intmain

(int argc,

char

* ar**)

; list<

int>

five

(myints,myints+

sizeof

(myints)

/sizeof

(int))

;//使用乙個普通的int陣列來初始化當前物件

return0;

}

listlist_int;

①list_int.size(

); //返回list鍊錶元素的總個數

②list_int.front(

); //返回list_int鍊錶的第乙個元素的值

③list_int.back(

); //返回list_int鍊錶的最後乙個元素的值

④list_int.clear(

); //清空list_int的鍊錶,把裡面的所有元素刪除

⑤list_int.begin(

); //返回list_int鍊錶第乙個數的迭代器

⑥list_int.end(

); //返回list_int鍊錶最後乙個數的迭代器

⑦list_int.empty(

); //判斷list_int鍊錶是否為空

⑧list_int.swap(v1)

; //v1是另乙個動態鍊錶,將list_int 和v1兩個鍊錶的元素互換

⑨list_int.reverse(

); //把list中的元素順序倒轉

⑩list_int.sort(

); //給list排序

a list_int.splice(list_int.begin(

),list_2)

; //將兩個list合併

list支援的動態插入也有多種方式

①呼叫push_back在尾部插入乙個元素,只能乙個乙個的插入:list_int.push_back(3)

;②呼叫push_front在頭部插入乙個元素,只能乙個乙個的插入:list_int.push_front(2)

;③呼叫insert在第乙個元素的前面插入乙個元素,list_int.insert(list_int.begin(

),888)

;④呼叫insert在第乙個元素的前面插入3個888元素,list_int.insert(list_int.begin(

),3,888)

;

list<

int>list_int,list_2;

list_int.

push_back(0

);list_int.

push_back(1

);list_int.

push_back(3

);list_2.

push_back(2

);list_2.

push_back(5

);list_2.

push_back(6

);list_int.

insert

(list_int.

begin()

,list_2.

begin()

,list_2.

end())

;int sz_int=

;list<

int>

::iterator itor = list_int.

begin()

;itor++

;list_int.

insert

(itor,sz_int+3)

;

①、list_int.pop_back(

); //刪除list_int動態鍊錶的最後乙個元素

②、list_int.erase(list_int.begin(

)); //刪除第乙個元素

③、list_int.erase(itor,list_int.end(

)); //刪除中間的元素

因為list不是陣列,所以不能使用下標進行遍歷,只能使用迭代器進行遍歷

for

(list<

int>

::iterator itor = list_int.

begin()

;itor !=list_int.

end();

++itor)

C 容器之List 鍊錶

特性總結 1.list建構函式 list lst 採用模板類實現,物件的預設構造形式 list 建構函式將 beg,end 前閉後開區間中的元素拷貝給本身 list 建構函式將n個elem拷貝被本身 list const list lst 拷貝建構函式 push back elem 在尾部加入乙個元...

C STL之list雙向鍊錶容器

不同於採用線性表順序儲存結構的vector和deque容器,list雙向鍊錶中任一位置的元素查詢 插入和刪除,都具有高效的常數階演算法時間複雜度o 1 list技術原理 為了支援前向和反向訪問list容器的元素,list採用雙向迴圈的鍊錶結構組織資料元素,鍊錶的每個節點包括指向前驅的指標 實際資料和...

STL容器之list鍊錶使用

目錄 一 list的概念理解 二 建構函式 三 元素插入和刪除 四 資料訪問 五 大小操作 六 反轉和排序 list鍊錶是將資料元素進行鏈式儲存,在物理單元上是非連續的結構,與vector動態陣列不同,陣列是一片連續的記憶體空間,list鍊錶是由一系列節點組成,而節點是由乙個儲存資料元素的資料域和乙...