基数排序,外排序

数列內容 421 240 35 532 305 430 124
第1次分组
组0   240  430
组1   421
组2   532
组3  
组4   124
组5   35  305
组6  
组7  
组8  
组9  
数列內容 240 430 421 532 124 35 305
第2次分组
组0   305
组1  
组2   421  124
组3   430  532  35
组4   240
组5  
组6  
组7  
组8  
组9  
数列內容 305 421 124 430 532 35 240
第3次分组
组0   35
组1   124
组2   240
组3   305
组4   421  430
组5   532
组6  
组7  
组8  
组9  
数列內容 35 124 240 305 421 430 532

基数排序的方法如下:(LSD)
1、根据数据项个位上的值,把所有的数据项分为10组;
2、然后对这10组数据重新排列:把所有以0结尾的数据排在最前面,然后是结尾是1的数据项,照此顺序直到以9结尾的数据,这个步骤称为第一趟子排序。

3、在第二趟子排序中,再次把所有的数据项分为10组,但是这一次是根据数据项十位上的值来分组的。这次分组不能改变先前的排序顺序。也就是说,第二趟排序之后,从每一组数据项的内部来看,数据项的顺序保持不变;

4、然后再把10组数据项重新合并,排在最前面的是十位上为0的数据项,然后是10位为1的数据项,如此排序直到十位上为9的数据项。

5、对剩余位重复这个过程,如果某些数据项的位数少于其他数据项,那么认为它们的高位为0。

posted @ 2007-11-09 10:55  中土  阅读(1243)  评论(1)    收藏  举报
©2005-2008 Suprasoft Inc., All right reserved.