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