Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java สำหรับ Binary Insertion Sort


การเรียงลำดับการแทรกไบนารีใช้การค้นหาแบบไบนารีเพื่อค้นหาตำแหน่งที่เหมาะสมในการแทรกองค์ประกอบที่ดัชนีเฉพาะในการวนซ้ำทุกครั้ง ขั้นแรกให้พบตำแหน่งที่ต้องการแทรกองค์ประกอบ จากนั้นองค์ประกอบจะถูกย้ายไปยังตำแหน่งที่ถูกต้องถัดไป ตอนนี้องค์ประกอบเฉพาะจะถูกวางไว้ในตำแหน่ง

ต่อไปนี้เป็นรหัส Java สำหรับ Binary Insertion Sort -

ตัวอย่าง

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

ผลลัพธ์

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