public class quicksort
if(start < end) 開始右邊比對與6的大小,找比6小的做交換
}while(start < end && a[end] >= base)//第一迴圈 start=1 end=8 8>6?
//從右邊開始遍歷,如果比基準值大,就繼續向左走
end--;
//上面的while迴圈結束時,就說明當前的a[end]的值比基準值小,應與基準值進行交換
//第一迴圈 end=7時 a[end]=3 迴圈結束
if(start < end)
start++;}}
//這裡返回start或者end皆可,此時的start和end都為基準值所在的位置,即基準值在中間的時候。
return end;
}/**
* 排序
* @param a
* @param start
* @param end
*/public static void sort(int a, int start, int end) else
}public static void main(string args) ;
sort(a, 0, a.length-1);
system.out.println("排序後的結果:");
for(int x : a)
}
java 快速排序
public class myquicksort while strvoid middle strvoid low lowif low hight else if hight middle temp strvoid hight strvoid hight strvoid low strvoid lo...
快速排序(java)
快速排序 public class quacksort int pivot arr low 取第乙個數作為中間數 左滑塊當前的下標數,從第二個數字開始,從最後乙個開始 int left low 1 int right high 右滑塊當前的下標數 while left right 從右邊開始找 wh...
快速排序(Java)
快速排序的思想是基於分治法加上遞迴思想,排序陣列時,將陣列分成兩個小部分,然後對它們遞迴排序,直到它們都不可再分為止。快速排序的平均執行時間是o nlog n 遠比插入排序的o n 2 時間小。快速排序 param arr param start param end return private s...