标题:[求助]在希尔排序和2-路归并排序中,如果元素个数是单数,应该怎么分块?
只看楼主
嘉行
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-23
 问题点数:0 回复次数:4 
[求助]在希尔排序和2-路归并排序中,如果元素个数是单数,应该怎么分块?
在做希尔排序和2-路归并排序中,如果元素个数是单数,应该怎么分块?
比如在希尔排序中,增量是5,但是有11个元素,我不知道应该怎么分组.
还有在2-路归并排序中,如果元素个数是单数,那么总有一个是打单的,应该怎么处理?期待大家的帮助!
搜索更多相关主题的帖子: 希尔 元素个数 单数 分块 
2007-01-20 11:17
zorrozzz
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-10-22
得分:0 

希尔排序中不用分组吧
例如
1 2 3 4 5 6 7 8 9
则1跟6比较排序,2跟7比较排序,3跟8,4跟9 ,小的放前面就行了啊
然后增量等于3等于1再运算就得出正确结果了
至于2路归并
打单的就不管了,等你把前面的归并排完后(排完的数据一般放在swap[]中),将后面打单的数据接着前面排好的数据后面顺序存放到数组swap[]中就行了.

2007-01-20 14:42
嘉行
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-23
得分:0 
就用你的例子哈~~~~那个5应该怎么办啊?
你用的是增量序列为5,如果是2的话,那么后面是不是会有一堆数空着呢?
我自己看书,很多东西还不懂.

2007-01-20 17:32
zorrozzz
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-10-22
得分:0 
以下是引用嘉行在2007-1-20 17:32:17的发言:
就用你的例子哈~~~~那个5应该怎么办啊?
你用的是增量序列为5,如果是2的话,那么后面是不是会有一堆数空着呢?
我自己看书,很多东西还不懂.

5不处理就行了,它继续放在它在数组中原来的位置
必须用奇数的!!!一般用5,3,2搞定了
,我觉得最好还是先对原理有个大致的了解然后对照着源代码看书.

2007-01-21 17:04
嘉行
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-23
得分:0 

OK了~~~~~ 问题解决


2007-01-28 11:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-117092-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022391 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved