c STL list學習筆記

2021-10-09 08:31:04 字數 1392 閱讀 9741

c++中的list是乙個雙向鍊錶模板,可以快速從任何地方進行插入刪除操作。但不能隨機訪問元素,若要訪問必須從表頭開始遍歷,直到找到要找的元素為止。

list<

int>l;

函式

操作l.empty()

判斷當前鍊錶是否為空

l.size()

返回當前鍊錶中元素個數

l.clear()

刪除當前鍊錶中的所有元素

l.push_back(x);

在當前鍊錶尾部新增乙個值x

push_front()

在當前鍊錶頭部新增乙個值x

l.pop_back(x);

刪除當前鍊錶尾部最後乙個值x

l.remove(x)

刪除鍊錶中所有指定值x的元素

l.unique()

刪除鍊錶中相鄰的重複元素(保留乙個)

l.erase()

刪除乙個元素或乙個區域的元素(兩個過載)

l.remove_if(cmp)

刪除鍊錶中滿足條件的元素

l.sort()

對鍊錶容器中的元素進行排序

l.reverse()

反轉鍊錶

l.begin()

返回迭代器,引用當前鍊錶的第乙個元素

l.end()

返回迭代器,引用當前鍊錶的最後乙個元素

l.rbegin()

返回迭代器,引用當前鍊錶的最後乙個元素

l.rend()

返回迭代器,引用當前鍊錶的第乙個元素前面的位置

插入:l.insert()

用途l.insert(pos,x);

在迭代器的pos位置插入x。(將x插入pos指定的元素前)

l.insert(pos,m,x);

在迭代器的pos位置插入m個x。

l.insert(pos,pos1,pos2)

在迭代器的pos位置插入[pos1,pos2)的元素。

(

#include

using

namespace std;

list<

int>

::iterator it;

void

disp

(list<

int>

&a)}

intmain()

cin>>m;

for(it=a.

begin()

;it!=a.

end(

);it++

)//迭代器遍歷直至找到第乙個大於m的數

}disp

(a);

//列印輸出鍊錶

}return0;

}

C STL list雙向鍊錶容器學習筆記一

list是雙向鍊錶的乙個泛化容器,支援前向和反向訪問list元素等。建立list物件 為了管理雙向鍊錶的元素資料,必須先用list容器的建構函式,建立乙個list物件。1 list 建立乙個沒有任何元素的list物件。下面例項 為建立空的list物件l。listl 2 list size type ...

隨筆 C STL list相關知識

就是一雙向鍊錶,可高效地進行插入刪除元素。包括構造 方法等。list中的資料元素是通過鍊錶指標串連成邏輯意義上的線性表,list不僅是乙個雙向鍊錶,而其還是乙個環狀雙向鍊錶,所以它只需要乙個指標,便可以完整實現整個鍊錶。include list 資料型別 鍊錶名 例如 listtest 定義乙個 s...

21C STL list 基本操作

include include using namespace std intmain include include using namespace std template typename t void display const t a intmain include include usi...