使用Java写一个快速排序
时间: 2023-02-27 08:28:57 浏览: 61
快速排序是一种分治的排序算法,它的基本思想是通过一趟排序将待排序的记录分割成独立的两部分,其中一部分的所有记录的关键字均比另一部分的所有记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。
以下是使用Java实现快速排序的代码示例:
```
public class QuickSort {
public static void sort(int[] array, int low, int high) {
if (array == null || array.length == 0)
return;
if (low >= high)
return;
// pick the pivot
int middle = low + (high - low) / 2;
int pivot = array[middle];
// make left < pivot and right > pivot
int i = low, j = high;
while (i <= j) {
while (array[i] < pivot) {
i++;
}
while (array[j] > pivot) {
j--;
}
if (i <= j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
i++;
j--;
}
}
// recursively sort two sub parts
if (low < j)
sort(array, low, j);
if (high > i)
sort(array, i, high);
}
public static void main(String[] args) {
int[] array = { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
sort(array, 0, array.length - 1);
for (int i : array) {
System.out.print(i + " ");
}
}
}
```