您的位置:首页 > 其它

地精排序Gnome Sort ----(排序算法十)

2013-10-24 21:38 288 查看

1.算法原理

2.算法代码

#include <stdio.h>

//printArray打印出数组
void printArray(int a[],int size){
printf("数组为:[%d] ",a[0]);
for (int i=1;i<size;i++)
{
printf(" %x ",a[i]);
}
printf("\n");
}

void main()
{
//a[0]监视哨
int  a[10] ={0,9,8,7,6,5,4,3,2,1};
int  len=10;
int i = 1;
while (i < len) {
if (i == 1 || a[i-1] <= a[i]){
i++;
}else{
printf("%d<-->%d ",a[i-1],a[i]);
printArray(a,10);
a[0] = a[i];
a[i] = a[i-1];
a[--i] = a[0];
}
}
printArray(a,10);
}


3.结果

9<-->8 数组为:[0]  9  8  7  6  5  4  3  2  1
9<-->7 数组为:[8]  8  9  7  6  5  4  3  2  1
8<-->7 数组为:[7]  8  7  9  6  5  4  3  2  1
9<-->6 数组为:[7]  7  8  9  6  5  4  3  2  1
8<-->6 数组为:[6]  7  8  6  9  5  4  3  2  1
7<-->6 数组为:[6]  7  6  8  9  5  4  3  2  1
9<-->5 数组为:[6]  6  7  8  9  5  4  3  2  1
8<-->5 数组为:[5]  6  7  8  5  9  4  3  2  1
7<-->5 数组为:[5]  6  7  5  8  9  4  3  2  1
6<-->5 数组为:[5]  6  5  7  8  9  4  3  2  1
9<-->4 数组为:[5]  5  6  7  8  9  4  3  2  1
8<-->4 数组为:[4]  5  6  7  8  4  9  3  2  1
7<-->4 数组为:[4]  5  6  7  4  8  9  3  2  1
6<-->4 数组为:[4]  5  6  4  7  8  9  3  2  1
5<-->4 数组为:[4]  5  4  6  7  8  9  3  2  1
9<-->3 数组为:[4]  4  5  6  7  8  9  3  2  1
8<-->3 数组为:[3]  4  5  6  7  8  3  9  2  1
7<-->3 数组为:[3]  4  5  6  7  3  8  9  2  1
6<-->3 数组为:[3]  4  5  6  3  7  8  9  2  1
5<-->3 数组为:[3]  4  5  3  6  7  8  9  2  1
4<-->3 数组为:[3]  4  3  5  6  7  8  9  2  1
9<-->2 数组为:[3]  3  4  5  6  7  8  9  2  1
8<-->2 数组为:[2]  3  4  5  6  7  8  2  9  1
7<-->2 数组为:[2]  3  4  5  6  7  2  8  9  1
6<-->2 数组为:[2]  3  4  5  6  2  7  8  9  1
5<-->2 数组为:[2]  3  4  5  2  6  7  8  9  1
4<-->2 数组为:[2]  3  4  2  5  6  7  8  9  1
3<-->2 数组为:[2]  3  2  4  5  6  7  8  9  1
9<-->1 数组为:[2]  2  3  4  5  6  7  8  9  1
8<-->1 数组为:[1]  2  3  4  5  6  7  8  1  9
7<-->1 数组为:[1]  2  3  4  5  6  7  1  8  9
6<-->1 数组为:[1]  2  3  4  5  6  1  7  8  9
5<-->1 数组为:[1]  2  3  4  5  1  6  7  8  9
4<-->1 数组为:[1]  2  3  4  1  5  6  7  8  9
3<-->1 数组为:[1]  2  3  1  4  5  6  7  8  9
2<-->1 数组为:[1]  2  1  3  4  5  6  7  8  9
数组为:[1]  1  2  3  4  5  6  7  8  9
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: