package com.hb.quickSort;
public class QuickSort {
public static void main(String[] args) {
int a[] = new int[] { 12, 32, 51, 5, 5, 1, 6 };
System.out.println("排序前:");
for (int n = 0; n < a.length; n++) {
System.out.print(a[n] + " ,");
}
QuickSort qs = new QuickSort();
qs.quickSort(a, 0, a.length - 1);
System.out.println("\n排序后:");
for (int n = 0; n < a.length; n++) {
System.out.print(a[n] + " ,");
}
}
public void quickSort(int[] a, int low, int high) {
int pivot = position(a,low,high);
if(pivot>low+1)
quickSort(a,low,pivot-1);
if(pivot < high-1)
quickSort(a,pivot+1,high);
}
public int position(int[] a, int low, int high) {
while (low < high) {
while (low < high && a[high] >= a[low]) {
high--;
}
if (a[high] < a[low]) {
int temp = a[low];
a[low] = a[high];
a[high] = temp;
}
while (low < high && a[low] <= a[high]) {
low++;
}
if(a[low] > a[high]){
int temp = a[low];
a[low] = a[high];
a[high] = temp;
}
}
return low;
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9474419/viewspace-478430/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9474419/viewspace-478430/