欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

Java快排

程序员文章站 2022-04-25 19:01:43
...
public static void quickSort(double[] array, int i, int j) {
if (j <= i)
return;
int pivotIndext = (i + j) / 2;
swap(array, pivotIndext, j);
int k = partition(array, i - 1, j, array[j]);
swap(array, j, k);
quickSort(array, i, k - 1);
quickSort(array, k, j);
}
public static int partition(double[] array, int left, int right, double pivot) {
do {
while (array[++left] < pivot)
;
while ((left < right) & (pivot < array[--right]))
;
swap(array, left, right);
} while (left < right);
return 0;
}
public static void swap(double[] data, int a, int b) {
double t = data[a];
data[a] = data[b];
data[b] = t;
}