Gnome 정렬은 요소를 적절한 위치로 이동하는 것이 버블 정렬에서와 같이 일련의 교체에 의해 수행된다는 점을 제외하면 삽입 정렬과 유사한 정렬 알고리즘입니다.
Input: 53421 Output: 12345
설명
요소를 적절한 위치로 이동하는 정렬 알고리즘은 버블 정렬에서와 같이 일련의 교환에 의해 수행됩니다. 단순히 루프가 필요합니다.
예시
#include <iostream>
using namespace std;
int main() {
int temp;
int arr[] = { 5, 3, 4, 2, 1 };
int n=5;
int i;
i = 0;
while (i < n) {
if (i == 0 || arr[i - 1] <= arr[i])
i++;
else {
temp = arr[i-1];
arr[i - 1] = arr[i];
arr[i] = temp;
i = i - 1;
}
}
for (i = 0;i < n;i++) {
cout<<arr[i]<<"\t";
}
}