反馈
问题:
阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。<br/><br/> 【说明】<br/>对n个元素进行简单选择排序的基本方法是:第一趟从第1个元素开始,在n个元素中选出最小者,将其交换至第一个位置,第二趟从第2个元素开始,在剩下的n-1个元素中选出最小者,将其交换至第二个位置,依此类推,第i趟从n-i+1个元素中选出最小元素,将其交换至第i个位置,通过n-1趟选择最终得到非递减排序的有序序列。
选项 :
【问题:2.1】【代码】<br/> #include <stdio.h><br/> void selectSort(int data[ ],int n)<br/> //对 data[0]~data[n-1]中的n个整数按非递减有序的方式进行排列<br/> {<br/> int i,j,k;<br/> int temp;<br/> for(i=0;i<n-1;i++){ <br/> for(k=i,j=i+1;(1);(2)) //k表示data[i]~data[n-1]中最小元素的下标<br/> if(data[j]<data[k]) (3)<br/> if(k!=i) {<br/> //将本趟找出的最小元素与data[i]交换<br/> temp=data[i]; (4) ;data[k]=temp;<br/> }<br/> }<br/> }<br/> <br/> int main<span style='color:#FF6347;'>()</span><br/> {<br/> int arr[ ]={79,85,93,65,44,70,100,57};<br/> int i,m;<br/> m=sizeof(arr)/sizeof(int); //计算数组元素的个数,用m表示<br/> (5); //调用selectSort对数组arr进行非递减排序<br/> for((6);i <m;i++) //按非递减顺序输出所有的数组元素<br/> printf(“%d/t”,arr[i]);<br/> printf(“/n”);<br/> return 0;<br/> }
答案: