**
和以前的寫法對比,基準值所在的位置沒必要每次都進行交換,只在一次快排完成後
,重新把當前的基準值賦值給現在的index位置就好了。**寫的很強,感謝作者 。
public
class quicksort
i = low;
j = hight;
index = a[i]; // 用子表的第乙個記錄做基準
while (i < j)
a[i] = index;// 將基準數值替換回 a[i]
sort(a, low, i - 1); // 對低子表進行遞迴排序
sort(a, i + 1, hight); // 對高子表進行遞迴排序
}public
static
void
quicksort(int a)
public
static
void
main(string args) ;
quicksort(a);
system.out.println(arrays.tostring(a));
}}
Java排序演算法 快速排序
一.思想 對氣泡排序演算法的一種改進。通過一趟排序將排序的資料分割成兩個部分,其中一部分的所有資料都比另一部分的所有資料都要小,然後再按此方法對這兩部分分別再進行快速排序,依次類推。實現為 開始時先設兩個變數i start,j end 以第乙個元素作為中間點,pivot num i 以j 的形式從後...
java排序演算法 快速排序
陣列 2,6,3,6,5,9,1 輸出 1 2 3 5 6 6 9 private static void paixu int arrs,int h,int e while arrs x arrs e 交換值 int m m arrs h arrs h arrs e arrs e m 2,6,3,6...
排序演算法 選擇排序原理及Java實現
選擇排序是一種簡單直觀的排序演算法,其基本原理如下 對於給定的一組記錄,經過第一輪比較後得到最小的記錄,然後將該記錄的位置與第乙個記錄的位置交換 接著對不包括第乙個記錄以外的其他記錄進行第二次比較,得到最小記錄並與第二個位置記錄交換 重複該過程,知道進行比較的記錄只剩下乙個為止。從簡單選擇排序的過程...