Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

그놈 정렬을 위한 C++ 프로그램?

<시간/>

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";
   }
}