数据结构题目
设a[ ] 的初值为(919,527,9,768,22,649)a[0]为临时工作单元。分析如下程序段:
for (i=0,d=1;i<k; i++,d*=r)
{
for ( j=0; j<r; j++) count[j]=0; //初始化
for( j=0; j<n; j++) count[ a[j] / d % r]++;
//统计各队列中的记录个数
for ( j=1; j<r; j++) count[j]=count[j-1]+count[j]; //分配
for( j=n-1; j>=0; j--) b[--count[a[j] / d % r]]=a[j]; //收集
for( j=0; j<n; j++) a[j]=b[j];
}
注: d — 1为个位,10为十位,…
k — 整数的最大位数;
r — 数值的基数(如八进制数,十进制数等);
n —关键字个数。
(1)当i=0、1、2时,分别给出循环体执行完后a[ ] 的值。
(2)说明该程序段的功能。
(3)编程实现以上程序段,并验证分析结果(1)。
(4)分别生成20个不超过3位的无符号整数,包括正序、逆序及随机,执行以上程序段,并验证分析结果。
》》》》》》》》》》》》》》》》》》》》》》
大神赐教 这是结课作业 求全部过程