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