c 學習筆記21 list容器

2021-10-08 03:12:56 字數 3860 閱讀 8213

功能:將資料進行鏈式儲存

鍊錶(list)是一種物理儲存單元上非連續的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結實現的

鍊錶的組成:鍊錶由一系列結點組成

stl中的鍊錶是乙個雙向迴圈鍊錶。

由於鍊錶的儲存方式並不是連續的記憶體空間,因此鍊錶list中的迭代器只支援前移和後移,屬於雙向迭代器

list的優點:

list的缺點:

list有乙個重要的性質,插入操作和刪除操作都不會造成原有list迭代器的失效,這在vector是不成立的。

總結:stl中list和vector是兩個最常被使用的容器,各有優缺點

功能描述:函式原型:

#include

using

namespace std;

#include

void

printlist

(const list<

int>

& l)

cout << endl;

}void

test01()

intmain()

總結:list構造方式同其他幾個stl常用容器,熟練掌握即可

功能描述:函式原型:

#include

using

namespace std;

#include

#include

#include

void

printlist

(const list<

int>

& l)

cout << endl;

}void

test01()

void

test02()

//swap函式交換list

intmain()

總結:list賦值和交換操作能夠靈活運用即可

功能描述:函式原型:

#include

using

namespace std;

#include

void

printlist

(const list<

int>

& l)

cout << endl;

}void

test01()

else

//重新指定大小

l1.resize(10

);//多出的部分填0

printlist

(l1)

; l1.

resize(15

,8);

//多出的部分填8

printlist

(l1)

; l1.

resize(2

);//多出的部分就沒啦

printlist

(l1);}

intmain()

總結:

功能描述:函式原型:

總結:

功能描述:函式原型:

#include

using

namespace std;

#include

void

printlist

(const list<

int>

& l)

cout << endl;

}void

test01()

intmain()

總結:

功能描述:函式原型:ps: 對於不支援隨機訪問的容器,stl內建的sort函式就不能用了。

針對list有特定的函式l.sort()。

#include

using

namespace std;

#include

void

printlist

(const list<

int>

& l)

cout << endl;

}bool

comparebig

(int a,

int b)

void

test01()

intmain()

總結:

案例描述:將person自定義資料型別進行排序,person中屬性有姓名、年齡、身高

排序規則:按照年齡進行公升序,如果年齡相同按照身高進行降序

#include

using

namespace std;

#include

#include

class

person

string m_name;

int m_age;

int m_high;};

bool

compare

(person p1,person p2)

else

}void

test01()

l.sort

(compare)

; cout <<

"排序後:"

總結:

學習了一早上學的眼睛要瞎了~

學完了list鍊錶,撒花~

下午可以快樂的肝專案啦

C 學習筆記 List容器

1.雙向鍊錶容器 2.不能隨機存放元素,不支援at.pos 函式與 操作符,可以it 但不能it n include using namespace std include void main cout l.size endl list iterator it l.begin while it l....

C 學習筆記 STL常用容器 list

list容器的功能 將資料進行鏈式儲存。stl中的鍊錶是乙個雙向迴圈鍊錶。list的優點 採用動態儲存分配,不會造成記憶體浪費和溢位 執行插入和刪除方便,修改指標的指向即可,不需要移動大量元素。list的缺點 空間 指標域 和時間 遍歷 耗費較大。list插入和刪除元素不會造成原有的迭代器的失效。l...

c 中list容器學習

c list用法 所屬命名空間 using system.collections.generic list類是 arraylist 類的泛型等效類。該類使用大小可按需動態增加的陣列實現 ilist泛型介面。泛型的好處 它為使用 c 語言編寫物件導向程式增加了極大的效力和靈活性。不會強行對值型別進行裝...