用java写一个递归排序
时间: 2023-05-17 17:03:29 浏览: 96
好的,以下是一个使用 Java 编写的递归排序的示例代码:
```
public class RecursiveSort {
public static void main(String[] args) {
int[] arr = { 5, 2, 9, 3, 7, 6, 1, 8, 4 };
sort(arr, 0, arr.length - 1);
System.out.println(Arrays.toString(arr));
}
public static void sort(int[] arr, int left, int right) {
if (left < right) {
int pivotIndex = partition(arr, left, right);
sort(arr, left, pivotIndex - 1);
sort(arr, pivotIndex + 1, right);
}
}
public static int partition(int[] arr, int left, int right) {
int pivot = arr[right];
int i = left - 1;
for (int j = left; j < right; j++) {
if (arr[j] < pivot) {
i++;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int temp = arr[i + 1];
arr[i + 1] = arr[right];
arr[right] = temp;
return i + 1;
}
}
```
这个程序使用了快速排序算法,其中 `sort` 方法是递归的,它将数组分成两个部分,然后对每个部分进行排序。`partition` 方法用于将数组分成两个部分,并返回分界点的索引。
阅读全文