摘要: shell排序: 这个排序的命名是来自发明者的名字,和排序的方法没有字面上的联系。所以不要因为名字而感觉很难。在K&R的C程序设计语言中书中只用了几行代码很简洁的实现了这个排序算法。那就来看看这个排序是如何实现的。原理: 我们将所要排序的序列(大小为n)划分成组,组的数量一般是可以用这个序列的大小的一半来定义(也就是d = n/2),然后不断折半,而组的成员就是间隔为d的数分为一组。比如这边有个长度为8的数字序列要去排序,那我们就可以先将这个序列分成d=4组的,每个组有两个数,(这边的4就是8的一半)。这四组就是(R1,R5),(R2,R6),(R3,R7),(R4,R8).然后就是组 阅读全文
posted @ 2013-11-29 10:43 JesseEisen 阅读(1751) 评论(0) 推荐(1) 编辑