C++侏儒排序算法实现及源码
侏儒排序,也称为Gnome Sort,是一种简单的排序算法。它的主要思想是不断地比较相邻的元素,如果前一个元素大于后一个元素,则交换它们。
下面是C++语言实现的侏儒排序算法完整源码:
#include <iostream>
using namespace std;
void gnomeSort(int arr[], int n){
int i = 1;
int j = 2;
while(i < n){
if(arr[i-1] <= arr[i]){
i = j;
j++;
}
else{
swap(arr[i-1], arr[i]);
i--;
if(i == 0){
i = j;
j++;
}
}
}
}
int main(){
int arr[] = {5,3,8,6,2,7,1,4};
int n = sizeof(arr)/sizeof(arr[0]);
gnomeSort(arr, n);
for(int i=0; i<n; i++){
cout << arr[i] << " ";
}
return 0;
}
上述代码中,我们首先定义了一个gnomeSort