遞迴插入排序的 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 次瀏覽

開啟您的職業

完成課程認證

開始
廣告
© . All rights reserved.