Gnome Sort는 한 번에 하나의 요소로 작동하여 실제 위치로 가져옵니다. Gnome Sort를 구현하는 예를 살펴보겠습니다 -
예시
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)); } }
출력
The array after perfroming gnome sort on it is [-21, 0, 11, 34, 67, 89]
Demo라는 클래스에는 'gnome_sort'라는 정적 함수가 포함되어 있습니다. 여기서, 변수 'index'는 0으로 할당된다. 해당 인덱스 값이 배열의 길이보다 작으면 인덱스 값이 0인지 검사하고, 0이면 1씩 증가한다. 그렇지 않으면 특정 인덱스가 배열의 'index-1' 값보다 크면 'temp'라는 변수에 0이 할당되고 요소가 교체됩니다. '인덱스' 값이 감소합니다.
메인 함수에서 배열은 특정 값으로 정의되며 이 배열과 배열의 길이에 대해 'gnome_sort' 함수가 호출됩니다. 출력은 콘솔에 인쇄됩니다.