桶排序:
//数据特点
//数据是有限范围内的,可以给每个数据值构造一个链表用于插入;
void Bucket_Sort(ElementType A[],int N)
{
count[];//initialize
while()
{
//读入数值
//将读入的数值插入到对应的桶中
}
}
基数排序:(桶排序优化)
1.Least Significant Digit 次位优先算法。
(这里简单介绍一下次位优先,在一个数据中,比如123,1位于百位,我们称之为主位,2则相应的称之为次位,次位优先即现从次位开始进行处理)
2.算法流程
2.1 先找出基数,例如八进制数的基数是8,十进制的基数是10。
2.2 进行第一轮排序:按照最次位进行桶排序。
(例如,十进制数123, 12 , 1;
按照基数排序 则分别放在 3 , 2,1下)
2.3 进行第二轮排序:按照再次位进行桶排序
(123 放在 2下 12 放在1 下 1放在0 下)
2.4 反复进行,直至排序结束