a
1array.prototype.swap
=function
(i, j)27
//氣泡排序 時間複雜度o(n^2) 空間複雜度o(1)
8array.prototype.bubblesort
=function()9
16}17}
18//
選擇排序 時間複雜度o(n^2) 空間複雜度o(1)
19array.prototype.selectionsort
=function
()20
28this
.swap(i, index);29}
30}31//
插入排序 時間複雜度o(n^2) 空間複雜度o(1)
32array.prototype.insertionsort
=function
()33
42this
[j]
=value;43}
44}45//
希爾排序
46array.prototype.shellsort
=function
()47
60this
[k]
=value;61}
62}63}
64}65//
快速排序 時間複雜度o(n*log(n))
66array.prototype.quicksort
=function
(s, e)
6777
this
.quicksort(s, index -1
);78
this
.quicksort(index +1
, e);79}
80//
棧快速排序
81array.prototype.stackquicksort
=function
()82
94stack.push(s, index -1
, index +1
, e);95}
96}97//
歸併排序 時間複雜度o(n*log(n)) 空間複雜度o(n)
98array.prototype.mergesort
=function
(s, e, b)
99111
for(
vari
=s; i
<=
e; ++
i) this
[i]
=b[i];
112}
113//
堆排序 時間複雜度o(n*log(n))
114array.prototype.heapsort
=function
()115
123}
124for
(vari =
this
.length -1
; i
>0;
--i)
125133
}134
}
氣泡排序,插入排序,選擇排序的時間複雜度是o(n^2)
歸併排序,堆排序,快速排序的時間複雜度都是o(n*log(n))
空間複雜度氣泡排序,插入排序,選擇排序都是o(1)
歸併排序為o(n)
集合排序的方法
訊息重新排序,按照msgid,由小到大的順序 聊天視窗適用的排序方式 class messagesort comparator msg1.messageid msg2.messageid else 訊息重新排序,按照msgid,由大到小的順序 開播提醒介面適用的排序方式 class reversem...
List集合排序的方法
1 list集合中的物件實現comparable介面 public class user implements comparable 測試類實現list按照實體類的age欄位排序 public static void main string args 列印結果為 2 2343 還可以根據lsit集合...
C IList集合擴充套件方法 集合排序
在平常開發中,經常要遇到集合排序的功能,可以用集合自帶的sort 或者orderby方法進行排序,但是要自定義比較器,每次使用都比較麻煩,所以就自己琢磨寫了個集合的擴充套件方法,專門用來排序集合,起名叫做 orderbyfield 方法有兩個引數,ordername 和 order,前者是要排序的欄...