//快速排序
public class quacksort
int pivot = arr[low]; // 取第乙個數作為中間數
// 左滑塊當前的下標數,從第二個數字開始,從最後乙個開始
int left = low + 1;
int right = high; // 右滑塊當前的下標數
while (left < right)
// 從右邊開始找
while (left <= right && right > low)
if (left < right)// 如果還沒找完,則交換數字
swap(arr, right, left);
}swap(arr, low, right);// 交換中間數字
sort(arr, low, right);// 排序前面陣列
sort(arr, right + 1, high);// 排序後邊陣列
}// 交換位置
private static void swap(int array, int i, int j)
// 列印方法
private static void print(int a)
system.out.println(); // 換行
}// 主方法
public static void main(string args) ;// 定義陣列
print(a); // 列印之前的序列
sort(a, 0, a.length - 1); // 排序
print(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)
快速排序的思想是基於分治法加上遞迴思想,排序陣列時,將陣列分成兩個小部分,然後對它們遞迴排序,直到它們都不可再分為止。快速排序的平均執行時間是o nlog n 遠比插入排序的o n 2 時間小。快速排序 param arr param start param end return private s...
快速排序(java)
各種排序演算法裡快速排序的平均時間複雜度最好,最近專門去理解了一下快速排序,現在記錄如下 public static void quicksort int array,int low,int height array i array j while i j temp array i array j ...