快速排序,通俗易懂
快速排序:
package 快排;
import java.util.Arrays;
public class QuickSort {
public static void main (String[] args) {
int[] array = {1, 9, 5, 7, -1, -6, 89, 78, 56, 0,1,9};
sort1(array, 0, array.length - 1);
System.out.println(Arrays.toString(array));
}
public static void sort1 (int[] array, int left, int right) {
int l = left;
int r = right;
int temp = 0;
int pivot = array[(left + right) / 2];
while (l < r) {
while (array[l] < pivot) {
l += 1;
}
while (array[r] > pivot) {
r -= 1;
}
if (l == r) {
break;
}
temp = array[l];
array[l] = array[r];
array[r] = temp;
if (array[l] == pivot) {
r--;
}
if (array[r] == pivot) {
l++;
}
}
if (l == r) {
l++;
r--;
}
if (left < r) {
sort1(array, left, r);
}
if (l < right) {
sort1(array, l, right);
}
}
}
还没有评论,来说两句吧...