STL的list鍊錶排序

2021-05-26 08:14:26 字數 342 閱讀 3821

在msvc8.0裡,stl給std::list提供了兩種排序方法,乙個是std::list的sort成員函式,乙個是裡的std::stable_sort排序函式。

這兩種方法的實現是不同的,list::sort()成員函式是針對list容器定製的排序方法,而stable_sort是針對bidirectional_iterator_tag雙向迭代器的通用排序方法。按說對list進行排序,前者應快過後者,但是實踐結果卻是後者明顯快過前者。

在msvc8.0裡執行上面的**,可以發現,stable_sort採用的快速排序法,比list::sort的mergesort法,要快出很多。

因此質疑list::sort的實現方法。

list 鍊錶STL應用

首先要保證標頭檔案必須有,其次建立list,有好幾種方法都可以 include include 這個標頭檔案時list鍊錶所需的 using namespace std int main cout 接下來操作返回首元素值以及返回末值以及排序 以及在有序鍊錶中插入值 include include 這...

STl學習筆記 鍊錶(list)

1.定義 標頭檔案 list 比單向鍊錶多了個指向前方的指標 vector 隨機訪問快,即下標運算,指哪打哪 尾新增,不申請空間的情況下非常快 不支援快速插入和刪除,比較慢 list 隨機訪問慢,也支援下標 支援快速插入和刪除 鍊錶先連後斷 關鍵字 引數列表 變數名 關鍵字 容器名字 類名 引數列表...

STL鍊錶之插入元素(list)

time limit 1000ms memory limit 65536k 有疑問?點這裡 給出乙個只有頭指標的鍊錶和 n 次操作,每次操作為在鍊錶的第 m 個元素後面插入乙個新元素x。若m 大於鍊錶的元素總數則將x放在鍊錶的最後。多組輸入。每組資料首先輸入乙個整數n n 1,100 代表有n次操作...