C 的list的函式

2021-06-10 07:13:21 字數 1354 閱讀 7425

list 用法小結

結構體函式:

無引數的:

list l ; 就是新建乙個空的鍊錶

1個引數的:

list l ( n ) ; 就是建立乙個有n個元素的鍊錶,這些元素的值都是預設的

list l ( t ) // t是個list; 就是建立乙個和t一模一樣的鍊錶

2個引數的:

list l ( n , x ) ; 就是建立乙個有n個元素的鍊錶,這些元素的值都初始化為x

int array= ; list l ( array , array + 3 ) ; 將另乙個list物件的迭代器區間

[ first , last )/*注意右邊界是不包括的*/的內容拷貝到新的list物件中

嗯結構體函式大概就這麼多

對資料的操作:

l.push_back ( x ) 在鍊錶l的尾部插入type類資料x , l.pop_back()是刪除鍊錶尾部的乙個元素

l.push_front ( x ) 在鍊錶l的首部插入type類資料x ,l.pop_front()是刪除鍊錶首部乙個元素

list ::iterator iter ; iter = l.begin() ; iter ++ ; l.insert ( iter , x ) /*這裡需要注意list裡的迭代器不能直接+n,必須得++或--,乙個乙個挪*/ 插入乙個元素x在鍊錶的iter所指的位置之前  對應的刪除是l.erase ( iter ) ,將iter所指向的元素刪除,實際上那麼iter也就沒用了,故一般新開乙個專門用來刪除的迭代器。—— l.erase (iter_first , iter_last ) 將iter_first到iter_last之間的元素(包括iter_first ,不包括 iter_last) 刪除

另外還有乙個特殊的刪除,l.remove( value ) 刪除鍊錶中所有值為value的節點

這些函式之外,當然還有這麼些東西:

empty ()/*返回是否list為空,為空則真*/

clear () /*將鍊錶清空~*/

sort () /*將煉表裡的元素排序*/

begin () /*返回指向首位的迭代器*/

end ()/*返回指向末位的迭代器*/

front () /*返回首位值*/

back () /*返回末位值*/

l_1.swap ( l_2 ) /*顧名思義,將l_1和l_2的內容全部調換*/

l.splice ( iter , l_2 ) /*將l_2歸併到l的iter指向的元素之前並清空l_2*/

l.splice ( iter , l_2 , iter_2 ) /*把l_2中iter_2所指向的元素歸併到l中iter所指向的元素前面並清空l_2*/

merge()沒用過。

list相關的函式

1 any list list 中任何乙個元素都有邏輯真,則返回 true,全為假返回 false all list list 中所有元素都為真時返回 true,否則返回 false 2 max list min list 返回列表中的最大值 或 最小值 3 enumerate 在列表中同時迴圈 索...

c 中的list用法

include include include include using namespace std 建立乙個list容器的例項listint typedef list listint 建立乙個list容器的例項listchar typedef list listchar void main vo...

c 中的list應用

最近學習c 設計模式,無意看到list容器這個用法,就捉摸著大致整理下。也方便以後自己學習著。提起list,我們就必須談到stl standed template library 標準模板庫 是ansi iso c 標準中最新的也是極具革命性的一部分。該庫包含了諸多在電腦科學領域裡所常用的基本資料結...