Gnome 排序演算法的 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";
   }
}

更新日期:2019 年 8 月 19 日

177 次瀏覽

開啟你的 職業生涯

完成課程,獲取認證

開始
廣告