關鍵點:
1.找出乙個關鍵字
2.根據關鍵字為基準點,對待排序的陣列進行分離 左側 小於關鍵字 由此 大於關鍵字
3.遞迴排序 (將左邊的進行排序 再將右邊的進行排序)
public class quicksort
quicksortsolution.showarr(nums);
quicksortsolution.sort(nums,0,nums.length - 1);
quicksortsolution.showarr(nums); }}
class quicksortsolution
system.out.println("\n");
} //partition array not order
public static int partition(long nums , int left , int right, long point)else
} //
long temp = nums[leftptr];
nums[leftptr] = nums[right];
nums[right] = temp;
return leftptr;
} public static void sort(long nums , int left , int right)
long point = nums[right];
//partition
int partition = partition(nums, left , right, point);
//for left sort
sort(nums,left,partition - 1);
//for right sort
sort(nums,partition + 1,right);
}}
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...