Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java Gnome Sort

Gnome Sort hoạt động với một phần tử tại một thời điểm và đưa nó đến vị trí thực tế. Hãy xem 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("Mảng sau khi thực hiện gnome sort: "); 
        System.out.println(Arrays.toString(my_arr)); 
    } 
}

Kết quả

Mảng sau khi thực hiện gnome sort trên nó là [-21, 0, 11, 34, 67, 89]

Lớp Demo chứa hàm tĩnh gnome_sort. Ở đây, biến index gán 0. Nếu giá trị index nhỏ hơn độ dài mảng, giá trị index được kiểm tra bằng 0. Nếu là 0, nó tăng 1. Ngược lại, nếu giá trị tại index cụ thể lớn hơn giá trị tại index-1 của mảng, biến temp gán 0 và các phần tử được hoán đổi. Giá trị index giảm.

Trong hàm main, một mảng được định nghĩa 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 mảng. Kết quả được in trên console.