早教吧作业答案频道 -->其他-->
区间排序算法的实现,代码C++,排序算法的问题假设含假设含n个数据元素的序列中,所有关键字为介于个数据元素的序列中,所有关键字为介于u和w之间的整数,且其中很多关键字值是相同.则
题目详情
区间排序算法的实现,代码C++,排序算法的问题
假设含 假设含 n个数据元素的序列中,所有关键字为介于 个数据元素的序列中,所有关键字为介于 u和 w之间的整数,且其 中很多关键字值是相同.则可按如下方法进行排序:设数组 number[0..w-u]且令 number[i] 统计关 键字 等于 整数 u+i的数据元素个数,然后按 number [ ]的值重排序列以达到有序.
假设含 假设含 n个数据元素的序列中,所有关键字为介于 个数据元素的序列中,所有关键字为介于 u和 w之间的整数,且其 中很多关键字值是相同.则可按如下方法进行排序:设数组 number[0..w-u]且令 number[i] 统计关 键字 等于 整数 u+i的数据元素个数,然后按 number [ ]的值重排序列以达到有序.
▼优质解答
答案和解析
{
int u,w;
u= min in Input;
w= max in Input;
int *bucket=new int[w-u+1];
for(int i=0;i bucket[i]=0;
for(int i=0;i bucket[Input[i]-u]++;
// print result;
for(int i=0;i while(bucket[i])
{
cout< bucket[i]--;
}
这不就类似于桶排序么,只不过桶的大小为序列的最大值减去最小值+1而已.
伪代码如下:
void bucketsort(int * Input,int len){
int u,w;
u= min in Input;
w= max in Input;
int *bucket=new int[w-u+1];
for(int i=0;i
for(int i=0;i
// print result;
for(int i=0;i
{
cout<
}
看了区间排序算法的实现,代码C++...的网友还看了以下:
世界人口分布特点是什么,有的地区什么,有的地区什么 2020-05-15 …
所有的关联词语,并写出它们是什么关系.如:因果关系(因为……所以……)填关联词1.()吃起来甜,( 2020-05-15 …
道德经中有与无的关系谁知道无与有的关系?无,名天地之始;有,名万物之母.……此两者,同出而异名,同 2020-05-16 …
为什么有的地方初中四年小学五年,有的地区初中三年小学六年.有什么区别? 2020-05-20 …
有的地区有自然喷泉,下列有关说法正确的是(在线等急!)A、喷泉周围有较高的水源B、喷泉是由于受月球 2020-05-21 …
关于个人风险态度,下列论述不正确的是( )。A.根据对风险的偏好或厌恶程度,可以将所有的人区分为 2020-05-22 …
所有的关系框架集合构成关系数据模型,所有的关系集合构成【】。 2020-05-23 …
在下列有关Windows 98环境下磁盘与文件的叙述中,错误的是A.同一个硬盘分成多个分区后,所有的 2020-05-23 …
以下关于关系模式关键字的说法中不正确的是(55)。A.关键字不能取空值B.所有的关系模式都有关键字C 2020-05-26 …
你所使用的系统为windows2003,所有的分区均是NTFS的分区,C区的权限为everyone读 2020-05-31 …