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

Chương trình Java cho Sắp xếp Chèn nhị phân

Sắp xếp chèn nhị phân sử dụng tìm kiếm nhị phân để tìm vị trí thích hợp để chèn một phần tử tại một chỉ mục cụ thể ở mỗi lần lặp. Đầu tiên, vị trí mà phần tử cần được chèn được tìm thấy. Sau đó, các phần tử được chuyển đến vị trí bên phải tiếp theo. Bây giờ, phần tử cụ thể được đặt vào vị trí.

Sau đây là mã Java cho Sắp xếp Chèn nhị phân -

Ví dụ

public class Demo{
   void Cocktail_Sort(int my_arr[]){
      boolean swapped = true;
      int start = 0;
      int end = my_arr.length;
      while (swapped == true) {
         swapped = false;
         for (int i = start; i < end - 1; ++i) {
            if (my_arr[i] > my_arr[i + 1]) {
               int temp = my_arr[i];
               my_arr[i] = my_arr[i + 1];
               my_arr[i + 1] = temp;
               swapped = true;
            }
         }
         if (swapped == false)
            break;
         swapped = false;
         end = end - 1;
         for (int i = end - 1; i >= start; i--) {
            if (my_arr[i] > my_arr[i + 1]) {
               int temp = my_arr[i];
               my_arr[i] = my_arr[i + 1];
               my_arr[i + 1] = temp;
               swapped = true;
            }
         }
         start = start + 1;
      }
   }
   void print_values(int my_arr[]){
      for (int i = 0; i < my_arr.length; i++)
      System.out.print(my_arr[i] + " ");
      System.out.println();
   }  
   public static void main(String[] args){
      Demo my_object = new Demo();
      int my_arr[] = { 6, 8, 34, 21, 0, 1, 98, 64, 6};
      System.out.println("The array contains ");
      for (int i = 0; i < my_arr.length; i++)
      System.out.print(my_arr[i] + " ");
      System.out.println();
      my_object.Cocktail_Sort(my_arr);
      System.out.println("The array after implementing cocktail sort is : ");
      my_object.print_values(my_arr);
   }
}

Đầu ra

The array contains
6 8 34 21 0 1 98 64 6
The array after implementing cocktail sort is :
0 1 6 6 8 21 34 64 98