快速排序作為一種高效的排序算法被廣泛應用
快排采用了經典的分治思想(divide and conquer)
Divide
Conquer
Combine
可以看出快排的核心部分就是劃分過程(partitioning)
初始化
循環不變量
循環過程
要注意的是在完成循環後
細 心的讀者可能會想到另一種更直白的分區方法
復制代碼 代碼如下:
public class QuickSort {
private static void QuickSort(int[] array
{
if(start<end)
{
int key=array[start];//初始化保存基元
int i=start
for(j=start+
if(array[j]<key)//如果此處元素小於基元
{
int temp=array[j];
array[j]=array[i+
array[i+
i++;
}
}
array[start]=array[i];//交換i處元素和基元
array[i]=key;
QuickSort(array
QuickSort(array
}
}
public static void main(String[] args)
{
int[] array=new int[]{
QuickSort(array
for(int i=
{
System
}
}
}
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20237.html