Gnome Sort hoạt động với từng phần một và đưa nó đến vị trí thực tế. Hãy để chúng tôi xem một ví dụ để triển khai Gnome Sort -
Ví dụ
import java.util.Arrays; public class Demo{ static void gnome_sort(int my_arr[], int n){ int index = 0; while (index < n){ if (index == 0) index++; if (my_arr[index] >= my_arr[index - 1]) index++; else{ int temp = 0; temp = my_arr[index]; my_arr[index] = my_arr[index - 1]; my_arr[index - 1] = temp; index--; } } return; } public static void main(String[] args){ int my_arr[] = { 34, 67, 89, 11, 0 , -21 }; gnome_sort(my_arr, my_arr.length); System.out.println("The array after perfroming gnome sort on it is "); System.out.println(Arrays.toString(my_arr)); } }
Đầu ra
The array after perfroming gnome sort on it is [-21, 0, 11, 34, 67, 89]
Một lớp có tên Demo chứa một hàm tĩnh có tên là ‘gnome_sort’. Ở đây, một biến 'chỉ số' được gán cho 0. Nếu giá trị chỉ mục đó nhỏ hơn độ dài của mảng, giá trị chỉ mục được kiểm tra bằng 0. Nếu là 0, nó được tăng lên 1. Ngược lại, nếu giá trị tại một chỉ mục cụ thể lớn hơn giá trị tại 'chỉ mục-1' của mảng, một biến có tên 'tạm thời' được gán 0 và các phần tử được hoán đổi. Giá trị "chỉ mục" bị giảm.
Trong hàm main, một mảng được xác định với các giá trị nhất định và hàm ‘gnome_sort’ được gọi trên mảng này và độ dài của mảng. Đầu ra được in trên bảng điều khiển.