package nc.bs.util.algorithm;
/**
* 快速排序算法
* @author icecookstar
*
*/
public class QuickSort {
public static void quickSort(int a[], int low, int high) {
int i = low;
int j = high;
int temp = a[low];
while (i < j) {
while (temp < a[j]&&i<j)
j--;
if (i < j) {
a[i] = a[j];
i++;
}
while (a[i] < temp&&i<j)
i++;
if (i < j) {
a[j] = a[i];
j--;
}
}
a[i] = temp;
if(low<i) quickSort(a, low, i - 1);
if(i<high) quickSort(a, j + 1, high);
}
public static void main(String[] args) {
int a[] = { 60, 55, 48, 37, 10, 90, 84, 36 };
quickSort(a, 0, a.length - 1);
for (int i = 0; i < a.length - 1; i++) {
System.out.println(a[i] + ",");
}
}
}
结果:
10,36,37,48,55,60,84