voidselectSort(intdata..."/>
閱讀以下說(shuō)明和代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
對(duì)n個(gè)元素進(jìn)行簡(jiǎn)單選擇排序的基本方法是:第一趟從第1個(gè)元素開(kāi)始,在n個(gè)元素中選出最小者,將其交換至第一個(gè)位置,第二趟從第2個(gè)元素開(kāi)始,在剩下的n-1個(gè)元素中選出最小者,將其交換至第二個(gè)位置,依此類(lèi)推,第i趟從n-i+1個(gè)元素中選出最小元素,將其交換至第i個(gè)位置,通過(guò)n-1趟選擇最終得到非遞減排序的有序序列。
問(wèn)題:2.1【代碼】
#include<stdio.h>
voidselectSort(intdata[],intn)
//對(duì)data[0]~data[n-1]中的n個(gè)整數(shù)按非遞減有序的方式進(jìn)行排列
{
inti,j,k;
inttemp;
for(i=0;i<n-1;i++){
for(k=i,j=i+1;(1);(2))//k表示data[i]~data[n-1]中最小元素的下標(biāo)
if(data[j]<data[k])(3)
if(k!=i){
//將本趟找出的最小元素與data[i]交換
temp=data[i];(4);data[k]=temp;
}
}
}
intmain()
{
intarr[]={79,85,93,65,44,70,100,57};
inti,m;
m=sizeof(arr)/sizeof(int);//計(jì)算數(shù)組元素的個(gè)數(shù),用m表示
(5);//調(diào)用selectSort對(duì)數(shù)組arr進(jìn)行非遞減排序
for((6);i<m;i++)//按非遞減順序輸出所有的數(shù)組元素
printf(“%d\t”,arr[i]);
printf(“\n”);
return0;
}