递归插入排序的 Java 程序


下面是递归插入排序的 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("The array elements after implementing insertion sort is ");
      System.out.println(Arrays.toString(my_arr));
   }
}

输出

The array elements after implementing insertion sort is
[0, 11, 11, 23, 42, 67, 83]

Demo 类包含用于插入排序的静态递归函数。此函数将数组及其长度作为参数。在此处检查了若干条件。如果数组长度小于 1,则按原样返回。否则,通过不断减小数组的大小来按数组元素排序。

数组的最后一个元素将放置在正确的位置,并再使用一个变量作为索引来检查数组中的最后一个元素是否等于数组中的特定索引元素。通过此方式,将元素放置在其正确的位置。如果遇到大于关键字的元素,则将其增加到下一个位置。在控制台上显示相关输出。

更新于:07-07-2020

793 次浏览

开启您的职业

完成课程认证

开始
广告