C++程序设计第七章排序.ppt

C程序设计第七章排序课案

7.5.2 基数排序 基数排序依次根据各关键字分量进行“分配”、“收集”完成排序 在单关键字排序中,一个关键字可以看作由若干个关键字分量复合而成,如整数可视为若干数位的集合。 基数排序例 7.5.2 基数排序 用数组实现的基数排序算法 void RadixSort(int data[], int n) { const int radix = 10; const int digits = 10;? int i,j,k,factor;? queueint queues[radix]; ? for ( i = 0,factor = 1; i digits;i++,factor *= radix) { for ( j = 0;j n; j++) queues[(data[j]/factor)%radix].push(data[j]); // 分配 for ( k = j = 0; j radix; j++,k++) // 收集 while (!queues[j].empty()){ data[k] = queues[j].front(); queu

文档评论(0)

1亿VIP精品文档

相关文档