STL學習筆記2 list

2022-01-29 01:38:45 字數 2911 閱讀 2972

list --- 雙向列表

(1) 不使用連續的記憶體空間這樣可以隨意地進行動態操作; 

(2)可以在內部任何位置快速地插入或刪除,當然也可以在兩端進行push和pop  。 

(3) 不能進行內部的隨機訪問,即不支援[ ]  操作符和vector.at()  ; 

大多數函式和vector的類似,這裡就不解釋了,有幾個不一樣的如下:

merge()  合併兩個list  --- 鏈結之後會把第二個鍊錶刪除掉

void merge( list &lst );//把自己和lst鍊錶連線在一起

void merge( list &lst, comp compfunction ); //指定compfunction,則將指定函式作為比較的依據。

1     list listtest;

2 list ::iterator it;

3 list listtest2;4//

listtest.assign(4,66);

//初始化,給4個元素賦值為66

5for (int i=0;i<10;i++)610

11listtest.merge(listtest2);

12 cout/

獲取最後乙個元素

13//

cout<14

if(listtest2.empty())

15

void remove( const type &val ); //刪除鍊錶中所有值為val的元素

void remove( const type &val ); //刪除鍊錶中所有值為val的元素

1     listtest.remove(19);//

移除最後乙個元素

2 cout/

獲取最後乙個元素

unique()刪除list中重複的元素 

void unique();//刪除鍊錶中所有重複的元素

void unique( binpred pr );// 指定pr,則使用pr來判定是否刪除。

1     it =listtest.end();

2 cout

3 cout/

獲取最後乙個元素

4 listtest.insert(it,9

);//插入到it以前

5 listtest.insert(it,9

);//插入到it以前

6 listtest.unique();//

刪除所有重複元素

7 cout<

*******************

"<

8 cout

9 cout/

獲取最後乙個元素

splice()合併兩個list   

void splice( iterator pos, list &lst );//把lst連線到pos的位置

void splice( iterator pos, list &lst, iterator del );//插入lst中del所指元素到現鍊錶的pos上

void splice( iterator pos, list &lst, iterator start, iterator end );//用start和end指定範圍。

1     it =listtest.end();

2 listtest.splice(it,listtest2);//

將鍊錶2鏈結到1後面

3 cout完整**如下:

1 #include "

list

"2 #include "

iostream"3

using

namespace

std;

4int

main()515

16//

listtest.merge(listtest2);

17//

cout/

獲取最後乙個元素

18//

//cout<19

//if (listtest2.empty())

20//

23//

listtest.remove(19);

//移除最後乙個元素

24//

cout/

獲取最後乙個元素

25//

26 it =listtest.end();

27 cout

28 cout/

獲取最後乙個元素

29 listtest.insert(it,9

);30 listtest.insert(it,9

);31 listtest.unique();//

刪除所有重複元素

32 cout<

*******************

"<

33 cout

34 cout/

獲取最後乙個元素

35 cout/

獲取最後乙個元素

36if

(listtest.empty())

3740

41//

it = listtest.end();

42//

listtest.splice(it,listtest2);

//將鍊錶2鏈結到1後面

43//

cout<44

getchar();

45getchar();

46return0;

47 }

code

Python學習2 list學習

序列都可以進行的操作包括索引,切片,加,乘,檢查成員。python有6個序列的內建型別,但最常見的是列表和元組。列表的資料項不需要具有相同的型別。list01 runoob 786,2.23,john 70.2 list02 123,john names a b c d 擷取 和大多數程式語言一樣,...

python基礎學習2 list與tuple

列表list,字典是可變資料型別,列表項有順序 字串,元組tuple是不可變型別 迴圈列表 import random list1 pens bags dogs cows for i in range len list1 print index str i is list1 i print list...

python快速入門(2)List

二.list結構 1.定義list型別 months print type months 新增什麼值都行 months print type months print months 如何查詢list當中的元素呢?3.取list中元素,定義index 索引 索引 index 從0開始 例如 直接通過i...