Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để sắp xếp chèn đệ quy

Sau đây là Chương trình Java để Sắp xếp Chèn Đệ quy -

Ví dụ

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));
   }
}

Đầu ra

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

Một lớp có tên Demo chứa hàm đệ quy tĩnh để sắp xếp chèn. Hàm này nhận mảng và độ dài của nó làm tham số. Ở đây, một số điều kiện được kiểm tra. Nếu độ dài của mảng nhỏ hơn 1, nó được trả về như cũ. Nếu không, các phần tử của mảng được sắp xếp bằng cách giảm kích thước của mảng lặp đi lặp lại bằng cách giảm kích thước của mảng.

Phần tử cuối cùng của mảng sẽ được đặt ở đúng vị trí và một biến khác được sử dụng làm chỉ số để kiểm tra xem phần tử cuối cùng trong mảng có bằng với phần tử chỉ số cụ thể đó trong mảng hay không. Bằng cách này, các phần tử được đặt vào đúng vị trí của chúng. Nếu gặp phải một phần tử lớn hơn khóa, nó sẽ được tăng lên vị trí tiếp theo. Đầu ra có liên quan được hiển thị trên bảng điều khiển.