|
本题添加时间:2023/6/28 21:32:00 |
|
圆梦客服:王老师 19139051760(微信同号) 19139051760(微信同号) |
以下冒泡法程序对存放在a[1],a[2],……,a[n]中的序列进行排序,其中n是元素个数,要求按升序排列。 void bsort (NODE a[ ], int n) { NODE temp; int i,j,flag; for(j=1; (1) ;j++) { flag=0; for(i=1; (2) ;i++) if(a[i].key>a[i+1].key) { flag=1; temp=a[i]; (3) ; (4) ; } if(flag= =0) break; } } 程序中flag的功能是 (5) 。 【答案选项】 A. a[i]=a[i+1] B. j<=n-1 C. a[i+1]=temp D. 当某趟冒泡中没有出现交换则已排好序结束循环 E. i<=n-j
|
答案是:正确选择 (1) B. j<=n-1 (2) E. i<=n-j (3) A. a[i]=a[i+1] (4) C. a[i+1]=temp (5) D. 当某趟冒泡中没有出现交换则已排好序结束循环
出自
国家开放大学数据结构复习题 国家开放大学系统
郑州大学
|
更多试题>>>>
1、以下程序是折半插入排序的算法
设待排序的记录序列存放在a[1],…a[n]中,以a[0]作为辅助工作单元,程序是要把a[i] 插入到已经有序的序列a[1],…a[i-1]中。
2、以下直接插入排序算法对存放在a[0],a[1],···,a[n-1]中,长度为n的记录序列按关键字key由小到大排序。
void disort (NODE a[ ], int n)
{ int i,j;
NODE temp
3、(1)对关键字序列(56,51,71,54,46,106),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( )。
A. 46,51,56,54,71,106
4、(1)一组记录的关键字序列为(42,37,62,40,32,92),利用快速排序算法,以第一个关键字为分割元素,经过一次划分后结果为( )。
A. 37,32,40,42,62,92 &
5、(1)一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序的方法建立的初始堆为( )(堆顶元素是最小元素,采用树的形式建堆)。
A. 39,41,57,80,47,46
|