鍊錶:缺點 :無法訪問位置 沒有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採用雙向迴圈的鍊錶結構組織資料元素,鍊錶的每個節點包括指向前驅的指標 實際資料和...