用java写一段插入排序的代码 要求递归
时间: 2024-02-20 08:59:13 浏览: 70
好的,以下是用Java实现递归插入排序的代码:
```java
public class RecursiveInsertionSort {
public static void sort(int[] arr, int n) {
// 递归结束条件
if (n <= 1) {
return;
}
// 先排序前n-1个元素
sort(arr, n - 1);
// 将第n个元素插入到已排序的前n-1个元素中
int last = arr[n - 1];
int j = n - 2;
while (j >= 0 && arr[j] > last) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = last;
}
public static void main(String[] args) {
int[] arr = {3, 2, 5, 1, 7, 4};
sort(arr, arr.length);
System.out.println(Arrays.toString(arr));
}
}
```
这个实现中,我们使用了递归来对前n-1个元素进行排序,然后将第n个元素插入到已排序的前n-1个元素中。递归结束条件是当n小于等于1时,不再进行排序。
阅读全文