Gnome Sort
난쟁이 정렬은 Stable한 정렬로 1번째 인덱스부터 시적해 왼쪽의 값이 자신보다 크다면 스왑후 인덱스를 하나 낮춰서 비교를 반복한다
O(N^2)의 시간복잡도와 O(1)의 공간 복잡도를 가지게 되며 코드가 단순해 구현이 간단하다
동작원리
오름차순 정렬 기준
- 1번째 인덱스부터 시작한다
- 왼쪽 인덱스의 값이 자신보다 작을경우 스왑 후 인덱스를 하나 낮춰서 1번으로 돌아간다
- 자신보다 작지 않을경우 인덱스를 하나 증가시킨다
- N번째 인덱스까지 반복한다
구현
c++
1 |
|