C Lists(鍊錶) 成員函式

2021-06-12 20:37:34 字數 3895 閱讀 1519

c++ lists(鍊錶)

lists將元素按順序儲存在鍊錶中

. 與 向量

(vectors)

相比, 

它允許快速的插入和刪除,但是隨機訪問卻比較慢

.stl中 

end()

指向的總是無效值,取值都用迭代器,用法跟指標差不多。

assign() 給

list

賦值back() 返回最後乙個元素

begin() 返回指向第乙個元素的迭代器

clear() 刪除所有元素

empty() 如果

list

是空的則返回

true 

end() 返回末尾的迭代器

erase() 刪除乙個元素

front() 返回第乙個元素

get_allocator() 返回

list

的配置器

insert() 插入乙個元素到

list

中max_size() 返回

list

能容納的最大元素數量

merge() 合併兩個

list 

pop_back() 刪除最後乙個元素

pop_front() 刪除第乙個元素

push_back() 在

list

的末尾新增乙個元素

push_front() 在

list

的頭部新增乙個元素

rbegin() 返回指向第乙個元素的逆向迭代器

remove() 從

list

刪除元素

remove_if() 按指定條件刪除元素

rend() 指向

list

末尾的逆向迭代器

resize() 改變

list

的大小reverse() 把

list

的元素倒轉

size() 返回

list

中的元素個數

sort() 給

list

排序splice() 合併兩個

list 

swap() 交換兩個

list 

unique() 刪除

list

中重複的元素

附list

用法例項:

#include 

#include 

#include 

#include 

using namespace std;

//建立乙個

list

容器的例項

listint

typedef listlistint;

//建立乙個

list

容器的例項

listchar

typedef listlistchar;

void main(void)

cout << endl;

//輸出為 

4 3 2 1

//使用

stl的

accumulate(累加)

演算法int result = accumulate(listone.begin(), listone.end(),0);

cout<<"sum="<

cout<<"------------------"<

//輸出為 

sum=10

//--------------------------

//用list

容器處理字元型資料

//--------------------------

//用listchar

建立乙個名為

listone

的list

物件listchar listtwo;

//宣告

i為迭代器

listchar::iterator j;

//從前面向

listtwo

容器中新增資料

listtwo.push_front ('a');

listtwo.push_front ('b');

//從後面向

listtwo

容器中新增資料

listtwo.push_back ('x');

listtwo.push_back ('y');

//從前向後顯示

listtwo

中的資料

cout<<"listtwo.begin()---listtwo.end():"<

for (j = listtwo.begin(); j != listtwo.end(); ++j)

cout << char(*j) << " ";

cout << endl;

//輸出為 

b a x y

//使用

stl的

max_element

演算法求listtwo

中的最大元素並顯示

j=max_element(listtwo.begin(),listtwo.end());

cout << "the maximum element in listtwo is: "< }

//輸出為: 

the maximum element in listtwo is: y

#include 

#include 

using namespace std;

typedef listintlist;

//從前向後顯示

list

佇列的全部元素

void put_list(intlist list, char *name)

//測試

list

容器的功能

void main(void)  

補充:stl

標準函式

find

進行vector 

、list

鍊錶查詢

#include 

#include 

#include 

using namespace std;

class example

bool operator==(example const & rhs)

private:

int i; };

int main(void)

#include 

#include 

#include 

#include 

using namespace std;

typedef listlistint;

int main(void) ;

listint ls1;

ls1.assign(a,a+5);

listint::iterator it;

for( it=ls1.begin(); it!=ls1.end(); it++)

cout<<*it<<" ";

cout<

//輸出 

1 5 3 5 6

ls1.insert( ls1.end(), 4 );

for( it=ls1.begin(); it!=ls1.end(); it++)

cout<<*it<<" ";

cout<

//輸出 

1 5 3 5 6 4

ls1.remove( 5 );

for( it=ls1.begin(); it!=ls1.end(); it++)

cout<<*it<<" ";

cout< }

//輸出 

1 3 6 4 【5

元素全部被刪除了】

/* 輸出如下

1 5 3 5 6

1 5 3 5 6 4

1 3 6 4 */

C Lists(鍊錶)

lists將元素按順序儲存在鍊錶中.與 向量 vectors 相比,它允許快速的插入和刪除,但是隨機訪問卻比較慢.assign 給list賦值 back 返回最後乙個元素 begin 返回指向第乙個元素的迭代器 clear 刪除所有元素 empty 如果list是空的則返回true end 返回末尾...

list 鍊錶 常用成員函式

在刷題過程中遇到了list中常用的函式,所以總結下來,希望對大家有用。include using namespace std list採用鏈式儲存方法,所以list不能隨機訪問,但是在list插入和刪除元素高效。判空 empty 語法 bool empty empty 函式返回真 true 如果鍊錶...

成員函式指標表

函式指標和成員函式指標的乙個公共用途是,將它們儲存在函式表中。函式表是函式指標的集合,在執行時從中選擇給定呼叫。對具有幾個相同型別成員的類而言,可以使用這樣的表來從這些成員的集合中選擇乙個。假定擴充套件screen類以包含幾個成員函式,其中每乙個在特定方向移動游標 class screen 我們可能...