网址导航
|
邮箱找密
|
无图版
» 您尚未
登录
注册
|
搜索
|
社区服务
|
银行
|
论坛群
|
转贴助手
|
帮助
社区服务
风云小站
»
『 求助专区 』
»
数据结构题求解
新 帖
本页主题:
数据结构题求解
打印
|
加为IE收藏
|
复制链接
|
收藏主题
|
上一主题
|
下一主题
a1630016900
级别:
资深会员
精华:
0
发帖:
2281
威望:
1338 点
风云币:
2119 元
专家分:
0 分
在线时间:383(小时)
注册时间:2007-01-13
最后登录:2008-04-28
小
中
大
引用
推荐
编辑
全看
复制
数据结构题求解
这个题我同学说一点思路也没有,而我对这个又非常陌生,只好发到这里让大家帮忙做做了。
在这里先谢谢各位了 数据结构题
有一种排序方法叫计数排序,其基本思想是:
设待排序元素的个数为n,待排序元素放在数组R[1..n]中(0号单元不用),关键字为R[K].key;关键字的类型是整型,最大值是MAX,最小值是MIN;设:m=max-min+1;设置三个辅助数组 1)count[0..m-1]; 2)locate[0..m-1]; 3)D[1..n];其解释如下:
count[0..m-1]:该数组的数组元素 count[k](0≤k≤m-1),初值为关键字是k+MIN的第一个元素在排好序后的正确位置。在算法的执行过程中,表示下一次找到的关键字值为k+MIN的元素在排好序后的正确位置。
D[0..n]:该数组为和R[0..n]同类型的数组,存放排好序的中间结果。
题目要求写出完成下列任务各程序段(从小到大排序)
○1 初始化数组count
○2 扫描待排数组R一遍,使count有正确值
○3 根据count值,求locate的值
○4 根据locate的值,扫描R一遍,将R中的元素放在D中的正确位置上,并修正locate的值
○5 将已有序的D中的元素,放回R中,使R中元素有序
○6 设R中的关键字如下表所示,给出执行完第○1○2○3步后,数组count和数组locate的值
R 1 2 3 4 5 6 7 8 9 10 11 12
.keyt 4 2 -2 0 4 -2 5 0 5 2 7 2
顶端
Posted: 2007-11-08 18:23 |
[楼 主]
jianxin
级别:
中级会员
精华:
0
发帖:
785
威望:
366 点
风云币:
2842 元
专家分:
0 分
论坛群:
啦啦大軍
在线时间:178(小时)
注册时间:2007-05-29
最后登录:2008-04-29
小
中
大
引用
推荐
编辑
全看
复制
算法代码给你,编程需要自己思考,看着下面的代码,应该可以做出来的
void Counting_Sort(int a[], int b[], int l, int k)
{
int* c = new int[k];
memset(c, 0, k * sizeof(int));
for (int j = 0; j < l; j++) c[a[j]]++;
for (int j = 1; j < k; j++) c[j] += c[j - 1];
for (int j = l - 1; j >= 0; j--)
{
b[c[a[j]] - 1] = a[j];
c[a[j]]--;
}
delete []c;
}
其中a为输入,b为输出,l为元素个数,k为元素最大值。
顶端
Posted: 2007-11-11 23:10 |
1 楼
帖子浏览记录
版块浏览记录
快速跳至
>> ≡ 技术大区 ≡
|- 『 应用交流 』
|- 『 原创教程 』
|- 『 类Unix讨论区 』
|- 『 求助专区 』
|- 『问答调研专区』
|- 『 硬件交流 』
>> 问答调研专区
|- 『 灌水乐园 』
|- *自曝*
|- *风云婚介*
|- 『 交易投诉区 』
|- 『 市场交流区 』
|- 『 高级交易区 』
|- 『 市场劳务区 』
|- 『 游戏动漫 』
|- 『 BT资源交流 』
|- 『 心情驿站 』
|- *菠菜存档*
>> ≡ AD大区 ≡
|- 『 非常AD区 』
|- 『 论坛收集区 』
|- 『 资源补档区 』
|- 『 AD原创区 』
|- 『 新坛宣传秀 』
>> ≡ 论坛服务区 ≡
|- 『 公告建议区 』
|- 『 活动宣传区 』
|- 『 意见与建议区 』
|- 『 交易币用户区 』
|- 『 风云档案馆 』
|- 『 会员服务区 』
|- 『 游客自荐区 』
|- 『 管理、勋章申请区 』
|- 『 个人资料服务区 』
>> ≡ 历史存档区 ≡
风云小站
»
『 求助专区 』
感谢,曾经的版主
Total 0.009799(s) query 7, Time now is:12-27 19:05, Gzip enabled
渝ICP备20004412号-1
Powered by
PHPWind
v6.3.2
Certificate
Code © 2003-07
PHPWind.com
Corporation
Skin by
Chen Bo