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' 함수가 호출됩니다. 출력은 콘솔에 인쇄됩니다.