STL基礎系列之 list

2021-06-23 05:13:54 字數 504 閱讀 1975

鍊錶(list)雙向鍊錶容器不支援隨機訪問,訪問鍊錶元素需要指出從鍊錶的某個端點開始,插入和刪操作所花費的時間是固定的,和該元素的位置無關。

在任何位置插入和刪除動作都很快,不像vector只在末尾進行操作。

stl list容器由於採用了雙向迭代器,不支援隨機訪問,所以標準庫的merge(), sort()等功能函式都不適用,list單獨實現了merge(),sort()等函式。

//stl--list總結

//stl list容器由於採用了雙向迭代器,不支援隨機訪問,所以標準庫的merge(), sort()等功能函式都不適用,list單獨實現了merge(),sort()等函式。

#include#include#include#include#include#define maxn 10

using namespace std;

void output(int n)

bool myfun(int n)

int main()

cout<

STL之List使用總結

list是我們常用的stl標準容器之一,它是一種序列式容器,在資料結構上和雙向鍊錶結構類似,list中的資料元素是通過鍊錶指標串連邏輯意義上的線性表,因此,鍊錶的特點是支援元素在任意位置的插入刪除,且效率很高。list實際上就是我們資料結構中的雙向鍊錶,它的記憶體是不連續的,通過指標來進行資料訪問,...

山寨STL實現之list

在stl中list是以雙向鍊錶的方式來儲存的,應此使用給定的下標值來找到對應的節點所需的時間複雜度為o n 相比vector直接使用原生指標會慢一些。因為是雙向鍊錶的關係,那麼必然有一種結構來表示鍊錶中的節點。template struct list node list node const t x...

STL之list函式詳解

list使用雙向鍊錶來管理元素,可以從兩端發展新元素,其內部結構如圖1所示。圖1 list的結構 list的內部結構和vetor或deque截然不同,主要的區別入下 list所提供的成員函式區別 list的好處是不論在任何位置,元素的安插和移除都只需要常數時間。如果我們要將若干元素從a容器移動b容器...