2014年3月31日

地精排序 Gnome Sort

摘要: 地精排序其实思想很简单,往前冒泡,一旦发生数据交换,就往回冒泡,直到把被交换数字放入正确位置,之后,继续前进举例例如待排数组:[6 2 4 1 5 9][0 1 2 3 4 5]看一下具体的排序过程[ i = 0 ]时啥也不干,先让i自增1,达到值为1才开始真正的比较交换前[6 2 4 1 5 9][ i = 0]交换后[6 2 4 1 5 9][ i = 1][ i = 1 ]比较6和2,发生交换,只要发生交换i就减1交换前[6 24 1 5 9][ i = 1]交换后[2 64 1 5 9][ i = 0][ i = 0 ]又成0了,啥也不干,自增变成1再说交换前[2 6 4 1 5 9] 阅读全文

posted @ 2014-03-31 20:11 兵临天下 阅读(225) 评论(0) 推荐(0)

基数排序(Radix Sort)

摘要: 基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在打孔卡片制表机(Tabulation Machine)上的贡献[1]。它是这样实现的:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。排序过程演示比如这样一个数列排序: 342 58 576 356, 以下描述演示了具 阅读全文

posted @ 2014-03-31 16:15 兵临天下 阅读(355) 评论(0) 推荐(0)

导航