C STL 10 list 雙向鍊錶

2022-06-27 02:03:10 字數 1084 閱讀 1956

鍊錶:缺點 :無法訪問位置 沒有index的概念。陣列可以[index].

優點:在序列已知的任何位置插入或刪除元素。可以合併、去重、交換。

一樣的增刪改查上**

void listtest()

cout << "****************" << endl;

int a[5] = ;

int b[7] = ;

listlst1(a, a + 5);

listlst2(b, b + 7);

cout << "1)"; print(lst1.begin(), lst1.end()); //輸出:1)1 2 2 3 4

lst1.remove(2); //刪除所有和a(2)相等的元素

cout << "2)"; print(lst1.begin(), lst1.end()); //輸出:2)1 3 4

lst2.pop_front(); //刪除第乙個元素

cout << "3)"; print(lst2.begin(), lst2.end()); //輸出:3)30 20 30 30 40 40

lst2.unique(); //刪除所有和前乙個元素相等的元素

cout << "4)"; print(lst2.begin(), lst2.end()); //輸出:4)30 20 30 40

lst2.sort();

cout << "5)"; print(lst2.begin(), lst2.end()); //輸出:4)30 20 30 40

lst1.merge(lst2); //合併 lst2 到 lst1 並清空 lst2

cout << "6)"; print(lst2.begin(), lst2.end());

cout << "6)"; print(lst1.begin(), lst1.end());

}

c stl的list(雙向鍊錶)

1.list初始化 1 listt 沒有任何元素 2 listt 10 建立有 10個元素的鍊錶 3 listt 10,3 建立有 10個元素的鍊錶,並且每個元素為3 2.對鍊錶進行插入操作 1 前插法 在鍊錶頭部插入新元素,鍊錶自動擴張,形式 t.push front 8 2 尾插法 在鍊錶尾部插...

C STL之雙向鍊錶list

一 list的基本使用以及耗時測試 include include qsort bsearch null includeusing namespace std const int size 100000 int main cout 插入1000000個元素耗時為 clock start endl c...

C STL之list雙向鍊錶容器

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