网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
数组ARRAY中存有10个无符号字整数(元素序号0~9),现在要删除其中的第5个元素。编写程序,把第6~9个元素移到第5~8个元素的位置上,并把第9个元素清零。
参考答案
更多 “数组ARRAY中存有10个无符号字整数(元素序号0~9),现在要删除其中的第5个元素。编写程序,把第6~9个元素移到第5~8个元素的位置上,并把第9个元素清零。” 相关考题
考题
对于"int*pa[5];"的描述中,正确的是()。A.pa是一个指向数组的指针,所指向的数组是5个int型元素B.pa是一个指向某数组中第5个元素的指针,该元素是int型变量C.pa[5]表示某个元素的第5个元素的值D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针
考题
设有一个有10个元素的数组,下列程序将该数组的第1个元素与第10个元素交换,第2个元素与第9个元素交换……,第5个元素与第6个元素交换,在横线处应填写( )。A. a(j)=a(11-j) a(11-j)=tB. a(11-j)=a(j) a(j)=tC. a(j)=a(11-j) a(j)=tD. a(11-j)=t a(j)=a(11-j)
考题
对于int*pa[5];的描述,( )是正确的。A.pa 是一个指向数组的指针,所指向的数组是5个int型元素B.pa 是一个指向某数组中第5个元素的指针,该元素是int型变量C.pa[5]表示某个数组的第5个元素的值D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针
考题
长度为l0的顺序表的首地址是从l023开始的,顺序表中每个元素的长度为2,在第4个元素前面插入一个元素和删除第7个元素后,顺序表的总长度还是不变。问在执行插入和删除操作前,顺序表中第5个元素在执行插入和删除操作后在顺序表中的存储地址是( )A.1028B.1029C.1031D.1033
考题
设线性表有n个元素,以下操作中,在顺序表上实现比在链表上实现效率更高的是()。A.输出第i个元素值
B.交换第1个元素与第2个元素的值
C.顺序输出这n个元素的值
D.输出与给定值x相等的元素存线性表中的序号
考题
阅读下列说明和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;i4?? ??c[i]=0;
5??? ???}
6??? ???for(i=0;i7??? ?c[a[i]] = ??(2)? ;
8??? ???}
9 ??for(i=1;i10??? c[i]= ?(3)
11??? ??}
12 ?for(i=0;i13??? b[c[a[i]]-1]=? (4)?? ;
14??? c[a[i]]=c[a[i]]-1;
15??? ??}
16??? }
【问题1】
? 根据说明和C代码,填充C代码中的空缺(1)~(4)。
【问题2】
根据C代码,函数的时间复杂度和空间复杂度分别为 (5) 和 (6) (用O符号表示)。
【问题3】?
? 根据以上C代码,分析该排序算法是否稳定。若稳定,请简要说明(不超过100字);若不稳定,请修改其中代码使其稳定(给出要修改的行号和修改后的代码)。
考题
已知1个数组inta[10],则以下说法正确的是()。A、a[1]表示数组的第1个元素B、a[0]表示数组的第1个元素C、a[10]表示数组的最后1个元素D、a[10]会出现程序编译错误
考题
设有一个长度为18的顺序表,第8号元素到第18号元素依次存放的值为8,9,…,18。某人想要删除第8号元素,程序中他的做法是用语句for(i=18;i=9;i--)a[i-1]=a[i];即从第18号元素开始,直到第9号元素,每个元素依次向前(左)移动1个位置.事实上这样做是错误的.其结果新表中第9号元素的值为()
考题
顺序表可以实现的操作有()。A、随机获得第i个元素B、不需要移动元素情况下,删除第i个元素C、不需要移动元素情况下,在第i个位置插入元素D、起初不分配顺序表的所有空间,每插入一个元素现分配存储空间
考题
对于int*pa[5];的描述中,正确的是()A、pa是一个指向数组的指针,所指向的数组是5个int型元素B、pa是一个指向某数组中第5个元素的指针,该元素是int型变量C、pa[5]表示数组的第5个元素的值,是int型的值D、pa是一个具有5个元素的指针数组,每个元素是一个int型指针
考题
填空题设有一个长度为18的顺序表,第8号元素到第18号元素依次存放的值为8,9,…,18。某人想要删除第8号元素,程序中他的做法是用语句for(i=18;i=9;i--)a[i-1]=a[i];即从第18号元素开始,直到第9号元素,每个元素依次向前(左)移动1个位置.事实上这样做是错误的.其结果新表中第9号元素的值为()
考题
多选题已知1个数组inta[10],则以下说法正确的是()。Aa[1]表示数组的第1个元素Ba[0]表示数组的第1个元素Ca[10]表示数组的最后1个元素Da[10]会出现程序编译错误
考题
单选题对于int *pa[5];的描述,正确的是( )。A
pa是一个指向数组的指针,所指向的数组是5个int型元素B
pa是一个指向某个数组中第5个元素的指针,该元素是int型变量C
pa[5]表示某个数组的第5个元素的值D
pa是一个具有5个元素的指针数组,每个元素是一个int型指针
热门标签
最新试卷