C 容器之List 鍊錶

2021-10-02 21:44:52 字數 2891 閱讀 9753

特性總結:

1. list建構函式

list lst;

//採用模板類實現,物件的預設構造形式;

list

;//建構函式將[beg, end)前閉後開區間中的元素拷貝給本身;

list

;//建構函式將n個elem拷貝被本身;

list

(const list &lst)

;//拷貝建構函式;

push_back

(elem)

;//在尾部加入乙個元素

pop_back()

;//刪除容器中最後乙個元素

push_front

(elem)

;//在開頭加入乙個元素

pop_front()

;//刪除容器中開頭第乙個元素

insert

(pos, elem)

;//在pos位置插入elem元素的拷貝,返回新資料的位置

insert

(pos,n,elem)

;//在pos位置插入n個elem元素,無返回值

insert

(pos,beg,end)

;//在pos位置插入[beg, end)前閉後開區間中的元素,無返回值

clear()

;//移除容器中所有資料

erase

(beg,end)

;//刪除[beg, end)前閉後開區間中的元素

erase

(pos)

;//刪除pos位置的資料,返回下一資料的位置

remove

(elem)

;//刪除容器中所有與elem元素相匹配的元素

size()

;empty()

;resize

(num)

;resize

(num,elem)

;//重新制定長度為num,若容器變長,以elem元素填充;

//若變短,末尾超出長度部分刪除;

assign

(beg,end)

;//將[beg, end)前閉後開區間中元素拷貝賦值給本身

assign

(n,elem)

;//將n個elem元素拷貝賦值給本身

list&

operator=(

const list &lst)

;//過載等號

swap

(lst)

;//將lst與本身元素互換

front()

;//返回第乙個元素

back()

;//返回最後乙個元素

reverse()

;//反轉鍊錶,如原來 3 8 1,反轉後 1 8 3

sort()

;//list排序

說明:這裡list本身提供了排序方法;

因為演算法中的sort 支援可隨機訪問的,而list不支援隨機訪問

#define _crt_secure_no_warnings

#include

#include

using

namespace std;

void

printlist

(list<

int>

& mlist)

cout << endl;

}//初始化

void

test01()

//list容器插入刪除

void

test02()

//(*(mlist.end()));

cout <<

"------------"

<< endl;

cout <<

(*testit)

<< endl;

cout << mlist.

back()

<< endl;

cout <<

"------------"

<< endl;

}//賦值操作

void

test03()

//排序 翻轉

void

test04()

printlist

(mlist)

;//容器元素反轉

mlist.

reverse()

; cout <<

"resverse list test: "

<< endl;

printlist

(mlist);}

bool

mycompare05

(int v1,

int v2)

//排序

void

test05()

intmain

(void

)

程式執行結果:

鍊錶和陣列的區別:

C 容器之鍊錶list

include using namespace std list是動態鍊錶,跟vector一樣,是個類模板 list int list int 定義了乙個內部元素是int的鍊錶 list char list char 定義了乙個內部元素是char的鍊錶 listlist student 定義了乙個內...

C STL之list雙向鍊錶容器

不同於採用線性表順序儲存結構的vector和deque容器,list雙向鍊錶中任一位置的元素查詢 插入和刪除,都具有高效的常數階演算法時間複雜度o 1 list技術原理 為了支援前向和反向訪問list容器的元素,list採用雙向迴圈的鍊錶結構組織資料元素,鍊錶的每個節點包括指向前驅的指標 實際資料和...

STL容器之list鍊錶使用

目錄 一 list的概念理解 二 建構函式 三 元素插入和刪除 四 資料訪問 五 大小操作 六 反轉和排序 list鍊錶是將資料元素進行鏈式儲存,在物理單元上是非連續的結構,與vector動態陣列不同,陣列是一片連續的記憶體空間,list鍊錶是由一系列節點組成,而節點是由乙個儲存資料元素的資料域和乙...