数据结构作业系统 - 第十章答案教学文稿

2026/4/27 23:01:11

精品文档

typedef struct {

RedType r[MAXSIZE+1]; // r[0]闲置或用作哨兵单元 int length; } SqList;

KeyType MidElement(SqList &L) {

int i,j,k,n;

RedType temp;

if(L.length==0)return '#'; for(i=1;i

temp=L.r[i];

for(j=i+1;j<=L.length;j++) if(temp.key>L.r[j].key) {

temp=L.r[j]; k=j; }

temp=L.r[i]; L.r[i]=L.r[k]; L.r[k]=temp; }

if(L.length%2==0)n=L.length/2; else n=L.length/2+1; return L.r[n].key; }

10.43③ 已知记录序列a[1..n] 中的关键字各不相同, 可按如下所述实现计数排序:另设数组c[1..n],对每 个记录a[i], 统计序列中关键字比它小的记录个数存 于c[i], 则c[i]=0的记录必为关键字最小的记录,然 后依c[i]值的大小对a中记录进行重新排列,试编写算 法实现上述排序方法。

收集于网络,如有侵权请联系管理员删除

精品文档

实现下列函数:

void CountSort(SqList &L);

/* 采用顺序表存储结构,L.r存储序列a,L.length为n */ /* 在函数内自行定义计数数组c */

顺序表的类型SqList定义如下: typedef struct { KeyType key; ...

} RedType;

typedef struct {

RedType r[MAXSIZE+1]; // r[0]闲置或用作哨兵单元 int length; } SqList;

void CountSort(SqList &L)

/* 采用顺序表存储结构,L.r存储序列a,L.length为n */ /* 在函数内自行定义计数数组c */ {

int i,j,count; int c[100]; SqList s;

for(i=1;i<=L.length;i++) {

count=0;

for(j=1;j<=L.length;j++) if(L.r[i].key>L.r[j].key) count++; c[i-1]=count; }

for(i=1;i<=L.length;i++) s.r[i]=L.r[i]; s.length=L.length; for(i=0;i

收集于网络,如有侵权请联系管理员删除

精品文档

收集于网络,如有侵权请联系管理员删除


数据结构作业系统 - 第十章答案教学文稿.doc 将本文的Word文档下载到电脑
搜索更多关于: 数据结构作业系统 - 第十章答案教学文稿 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219