在刷題過程中遇到了list中常用的函式,所以總結下來, 希望對大家有用。
#include using namespace std;
list採用鏈式儲存方法,所以list不能隨機訪問,但是在list插入和刪除元素高效。
判空:empty
語法:
bool empty();
empty()函式返回真(true)如果鍊錶為空,否則返回假。例如:
listthe_list;
for( int i = 0; i < 10; i++ )
the_list.push_back( i );
while( !the_list.empty() )
獲取list中元素的個數 size
語法:
size_type size();
size()函式返回list中元素的數量。
增 push_back push_front insert
在鍊錶的尾部插入元素: push_back
push_back
語法:
void push_back( const type &val );
push_back()將val連線到鍊錶的最後。例如:
listthe_list;
for( int i = 0; i < 10; i++ )
在鍊錶的首部插入元素: push_front
push_front
語法:
void push_front( const type &val );
push_front()函式將val連線到鍊錶的頭部。
在鍊錶的指定位置上插入元素: insert
insert
語法:
iterator insert( iterator pos, const type &val );
void insert( iterator pos, size_type num, const type &val );
void insert( iterator pos, input_iterator start, input_iterator end );
insert()插入元素val到位置pos,或者插入num個元素val到pos之前,或者插入start到end之間的元素到pos的位置。返回值是乙個迭代器,指向被插入的元素。
刪 pop_back pop_front erase clear
刪除鍊錶的最後乙個元素,但不返回鍊錶最後乙個元素的值: pop_back
pop_back
語法:
void pop_back();
pop_back()函式刪除鍊錶的最後乙個元素。
刪除鍊錶首部的元素,但不返回鍊錶第乙個元素的值: pop_front
pop_front
語法:
void pop_front();
pop_front()函式刪除鍊錶的第乙個元素。
刪除鍊錶指定位置上的元素: erase
erase
語法:
iterator erase( iterator pos );
iterator erase( iterator start, iterator end );
erase()函式刪除以pos指示位置的元素, 或者刪除start和end之間的元素。 返回值是乙個迭代器,指向最後乙個被刪除元素的下乙個元素。
刪除鍊錶中的所有元素 clear
clear
語法:
void clear();
clear()函式刪除list的所有元素。
獲取鍊錶最後乙個元素back和第乙個元素front
獲取list的最後乙個元素,但不刪除最後乙個元素:
back
語法:
reference back();
back()函式返回乙個引用,指向list的最後乙個元素。
獲取list的第乙個元素,但不刪除第乙個元素:
front
語法:
reference front();
front()函式返回乙個引用,指向鍊錶的第乙個元素。
listthe_list;
for( int i = 0; i < 10; i++ )
the_list.push_back( i );
while( !the_list.empty() )
遍歷鍊錶 begin end
獲取指向list第乙個元素的迭代器:
begin
語法:
iterator begin();
begin()函式返回乙個迭代器,指向list的第乙個元素。例如,
// 建立乙個元素型別是字元的鍊錶
listcharlist;
for( int i=0; i < 10; i++ )
charlist.push_front( i + 65 );
// 顯示這個鍊錶
list::iterator theiterator;
for( theiterator = charlist.begin();
theiterator != charlist.end();
theiterator++ )
cout << *theiterator;
獲取指向list末尾的迭代器:
end
語法:
iterator end();
end()函式返回乙個迭代器,指向鍊錶的末尾。
鍊錶合併 merge
merge
語法:
void merge( list &lst );
void merge( list &lst, comp compfunction );
merge()函式把自己和lst鍊錶連線在一起,產生乙個整齊排列的組合鍊錶。如果指定compfunction,則將指定函式作為比較的依據。
將list中的元素逆序 reverse
reverse
語法:
void reverse();
reverse()函式把list所有元素倒轉。
對list中的元素進行排序 sort
排序(sort)
語法:
void sort();
void sort( comp compfunction );
sort()函式為鍊錶排序,預設是公升序。如果指定compfunction的話,就採用指定函式來判定兩個元素的大小。
修改鍊錶的長度 resize
修改鍊錶的大小,多餘元素用val填充: resize
resize
語法:
void resize( size_type num, type val );
resize()函式把list的大小改變到num。被加入的多餘的元素都被賦值為val
刪除鍊錶中的重複元素 unique
unique
語法:
void unique();
void unique( binpred pr );
unique()函式刪除鍊錶中所有重複的元素。如果指定pr,則使用pr來判定是否刪除 list 鍊錶函式(小結)
先上函式 include include include include include includeusing namespace std struct node typedef struct node list list head null list current null,pre null...
C Lists(鍊錶) 成員函式
c lists 鍊錶 lists將元素按順序儲存在鍊錶中 與 向量 vectors 相比,它允許快速的插入和刪除,但是隨機訪問卻比較慢 stl中 end 指向的總是無效值,取值都用迭代器,用法跟指標差不多。assign 給 list 賦值back 返回最後乙個元素 begin 返回指向第乙個元素的迭...
鍊錶 List
stl中,list class list 的乙個例項 使用乙個doubly linked list管理元素。list不支援隨機訪問,但任何位置上執行元素的安插和移動都非常快。雙向鍊錶 doubly linked list 使用list時必須先包含標頭檔案 include其中list型別系定義於nam...