public class QuickSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = { 7, 8, 5, 4, 9, 6 };
Quick_Sort(a, 0, a.length - 1);
PrintArray(a);
}
private static void Quick_Sort(int[] a, int left, int right) {
if (left < right) {
int temp = a[left];
int m = left, n = right;
while (left < right) {
while (left < right) {
if (temp > a[right]) {
Swap(a, left, right);
left++;
break;
} else {
right--;
}
}
while (left < right) {
if (a[left] > temp) {
Swap(a, left, right);
right--;
break;
} else {
left++;
}
}
}
Quick_Sort(a, m, left - 1);
Quick_Sort(a, right + 1, n);
}
}
private static void PrintArray(int[] a) {
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
private static void Swap(int a[], int i, int j) {
a[i] = a[i] ^ a[j];
a[j] = a[i] ^ a[j];
a[i] = a[i] ^ a[j];
}
}
另类的快速排序,你看的懂么
最新推荐文章于 2020-06-21 21:20:56 发布