递归插入排序的 Java 程序

javaobject oriented programmingprogramming更新于 2025/7/22 21:00:17

以下是递归插入排序的 Java 程序 −

示例

import java.util.Arrays;
public class Demo{
   static void recursive_ins_sort(int my_arr[], int arr_len){
      if (arr_len <= 1)
         return;
      recursive_ins_sort( my_arr, arr_len-1 );
      int last = my_arr[arr_len-1];
      int j = arr_len-2;
      while (j >= 0 && my_arr[j] > last){
         my_arr[j+1] = my_arr[j];
         j--;
      }
      my_arr[j+1] = last;
   }
   public static void main(String[] args){
      int my_arr[] = {11, 23, 67, 83, 42, 11, 0};
      recursive_ins_sort(my_arr, my_arr.length);
      System.out.println("执行插入排序后的数组元素为");
      System.out.println(Arrays.toString(my_arr));
   }
}

输出

执行插入排序后的数组元素为
[0, 11, 11, 23, 42, 67, 83]

名为 Demo 的类包含插入排序的静态递归函数。此函数以数组及其长度为参数。这里检查几个条件。如果数组的长度小于 1,则按原样返回。否则,通过一次又一次减小数组的大小对数组的元素进行排序。

数组的最后一个元素将放置在正确的位置,另一个变量用作索引,以检查数组中的最后一个元素是否等于数组中的特定索引元素。这样,元素就被放置在正确的位置。如果遇到大于 key 的元素,则将其递增到下一个位置。相关输出显示在控制台上。


相关文章


有用资源