這種排序的方法是我自己摸索的比較快速的排序方法
public
static
void
sort
(int
arr)
else
//判斷值
boolean p =
true
;boolean b =
true
;boolean o =
true
;//從大到小排列的數跳過
while
(arr[max]
>= arr[max -1]
&& max >1)
if(arr[max]
< arr[max -1]
)while
(arr[midd]
>= arr[midd -1]
&& midd >1)
if(arr[midd]
< arr[midd -1]
)while
(arr[min]
<= arr[min +1]
&& min < arr.length -2)
if(arr[min]
> arr[min +1]
)while
(arr[midx]
<= arr[midx +1]
&& midx < arr.length -2)
if(arr[midx]
> arr[midx +1]
)if(p || b)
else}}
}//排序次數與過程
count++
;system.out.
println
(arrays.
tostring
(arr)
+"*****=");
//完成一次迴圈,縮小範圍
if(min == d)
else
if(max == x)
}}
上述**還可簡化,暫時就這樣。 快速排序法
一 快速排序演算法的基本特性 時間複雜度 o n lgn 最壞 o n 2 空間複雜度 o n lgn 不穩定。快速排序是一種排序演算法,對包含n個數的輸入陣列,平均時間為o nlgn 最壞情況是o n 2 通常是用於排序的最佳選擇。因為,基於比較的排序,最快也只能達到o nlgn c void q...
快速排序法
include stdafx.h include vos.h define table mid machine name midmachine define table midmach colname id id define table midmach colname ip ip define t...
快速排序法
快速排序法思想 在待排序的n個資料中取第乙個數字為基準數,陣列最前面放乙個標桿,陣列最後麵放乙個標桿,通過基準數和標桿 i,j 出的數進行比較,實現每次排序完時候,共三組數,不大於基準數 基準數 不小於基準數 舉例說明 5 i 4,6,8,3,9,2 j 基準數5 標桿 i 指向5位置,標桿 j 指...