问题详情

阅读下列说明和C代码,回答问题1至问题3
【说明】?? 某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的第m个位置。对于元素值重复的情况,依次放入第m-l、m-2、…个位置。例如,如果元素值小于等于4的元素个数有10个,其中元素值等于4的元素个数有3个,则4应该在输出元素序列的第10个位置、第9个位置和第8个位置上。算法具体的步骤为:
步骤1:统计每个元素值的个数。
步骤2:统计小于等于每个元素值的个数。
步骤3:将输入元素序列中的每个元素放入有序的输出元素序列。
【C代码】
下面是该排序算法的C语言实现。
(1)常量和变量说明
R: 常量,定义元素取值范围中的取值个数,如上述应用中R值应取6
i:循环变量
n:待排序元素个数
a:输入数组,长度为n
b:输出数组,长度为n
c:辅助数组,长度为R,其中每个元素表示小于等于下标所对应的元素值的个数。
(2)函数sort
1??? void sort(int n,int a[],int b[]){
2??? ???int c[R],i;
3?? for (i=0;i< ???(1)? :i++){
4?? ??c[i]=0;
5??? ???}
6??? ???for(i=0;i

未搜索到的试题可在搜索页快速提交,您可在会员中心"提交的题"快速查看答案。 收藏该题
查看答案

相关问题推荐

以下属于网络测试的测试指标的是()。①吞吐量②丢包率③延时④背靠背性能
A.①②③④
B.①②③
C.①③④
D.①②④
以下关于汇编语言的叙述中,错误的是______。
A.汇编语言源程序中的指令语句将被翻译成机器代码
B.汇编语言的指令语句必须具有操作码字段,可以没有操作数字段
C.汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出
D.汇编程序先将源程序中的伪指令翻译成机器代码,然后再翻译指令语句
The main reason we tend to focus on the( )rather than the human side of work is not because it’s more(请作答此空),but because it’s easier to do.Getting the new disk drive installed is positively trivial compared to figurine out why Horace is in a blue funk(恐惧)or why Susan is dissatisfied with the company aver only a few months.Human interactions are complicated and never very crisp(干脆的,干净利落的)and clean in their effects,but they matter more than any other aspect of the work.
If you find yourself concentrating on the( )rather than the( ).you’re like the vaudeville character(杂耍人物)who loses his Keys on a dark street and looks for them on the adjacent street because,as he explains,“The light is better there!”
A.trivial
B.crucial
C.minor
D.insignificant
在指令系统的各种寻址方式中,获取操作数最快的方式是()。
A.直接寻址
B.间接寻址
C.立即寻址
D.寄存器寻址
若某条无条件转移汇编指令采用直接寻址,则该指令的功能是将指令中的地址码送入______。
A.PC(程序计数器)
B.AR(地址寄存器)
C.AC(累加器)
D.ALU(算术逻辑单元)
联系我们 用户中心
返回顶部