STL之鍊錶list(C )

2021-10-11 21:30:13 字數 2417 閱讀 8203

2、鍊錶(list)的常用方法

鍊錶(list)是乙個雙向鍊錶,可高效地進行插入刪除元素。如圖,list的結構:

運用 list, 必須宣告請標頭檔案:#include

list 型別定義於 namespace std 中,是個 class template:

namespace std
第乙個 template 引數是元素型別,第二個 template 引數可有可無,用來指定記憶體模型。

list c //產生乙個空的list

list

c1(c2)

//產生乙個與c2同型的list(每個元素都被複製)

list

c(n)

//產生擁有n個元素的list

list

c(n,elem)

//產生擁有n個元素的list,每個元素都是elem的副本

c.size()

//返回元素個數

c.empty()

//判斷容器大小是否為零。等同於 size()==0,但可能更快

c.assign

(n,elem)

//將elem的n個拷貝賦值給c

//list不支援隨機訪問,只有front() 和 back() 能夠直接訪問元素

c.front()

//返回第乙個元素。不檢查元素存在與否

c.back()

//返回最後乙個元素。不檢查元素存在與否

c.begin()

//返回乙個雙向迭代器,指向第乙個元素

c.end()

//返回乙個雙向迭代器,指向最後元素的下一位置

c.rbegin()

//返回乙個逆向迭代器,指向逆向迭代的第乙個元素

c.rend()

//返回乙個逆向迭代器,指向逆向迭代的最後元素的下一位置

c.insert

(pos,elem)

//在迭代器pos所指位置上安插乙個elem副本,並返回新元素的位置

c.insert

(pos,n,elem)

//在迭代器pos所指位置上安插n個elem副本,無返回值

//插入和移除

c.push_back

(elem)

//在尾部追加乙個elem副本

c.pop_back()

//移除最後乙個元素(但不返回)

c.push_front

(elem)

//在頭部安插乙個elem副本

c.pop_front()

//移除第一元素〔但不返回)

c.remove

(val)

//移除所有其值為val的元素

c.erase

(pos)

//移除迭代器pos 所指元素,返回下一元素位置

c.erase

(beg, end)

//移除區間[beg ; end]內的所有元素,返回下一元素位置

c.resize

(num)

//將元素容量變為num。如果size

// 使用迭代器輸出 li 的元素

cout <<

"(3)"

;for

(list<

int>

:: iterator it = li.

begin()

; it != li.

end(

); it++

) cout <<

*it <<

" ";

//在尾部插入 9;

li.push_back(9

);

cout << endl <<

"(4)"

;for

(list<

int>

:: iterator it = li.

begin()

; it != li.

end(

); it++

) cout <<

*it <<

" ";

//移除最後乙個元素

li.pop_back()

; cout << endl <<

"(5)"

;for

(list<

int>

:: iterator it = li.

begin()

; it != li.

end(

); it++

) cout <<

*it <<

" ";

return0;

}

List c單向鍊錶

單鏈表演示 include typedef struct lnode 定義節點型別 lnode 函式名稱 creat 功能描述 生成單鏈表 返回型別 無返回值 函式引數 h 單鏈表頭指標 void creat lnode h 函式名稱 print 功能描述 遍歷單鏈表 返回型別 無返回值 函式引數 ...

STL之鍊錶

鍊錶,通過指標來實現。鍊錶是一種資料結構,而list只是stl對於鍊錶的一種實現,一萬個人有可能寫出一萬種不同的鍊錶來。文字內容 很長很詳細的鍊錶所有操作 理解 這篇寫的棧佇列都很好理解 鍊錶是一種常見的重要的資料結構。它是動態地進行儲存分配的一種結構。它可以根據需要開闢記憶體單元。鍊錶有乙個 頭指...

STL順序容器之鍊錶

list雙向鍊錶 forward list向前鍊錶 單向 操作都在煉表頭 2011年新標準 略 include list 結構體 變數名 for each ls2.begin ls2.end fun list iterator ite ls2.begin ite 只能 不能 2 3 無容量概念 si...