程序填空题:选择排序程序填空
下述程序是一个选择排序程序,请填完整空缺部分。
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。即第一趟排序得到最小(或最大)的元素放到第一个位置,第二趟排序得到第二小(或大)的元素放到第二个位置,直到第n-1趟排序结束。
```in
#include
void select_sort(int p[],int n) {
int i,j,minPos,temp;
for(i =0; i minPos = i;//第i趟最小值位置初始时假定为i
for ( j=i+1; j if(p[j]
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。即第一趟排序得到最小(或最大)的元素放到第一个位置,第二趟排序得到第二小(或大)的元素放到第二个位置,直到第n-1趟排序结束。
```in
#include
void select_sort(int p[],int n) {
int i,j,minPos,temp;
for(i =0; i
for ( j=i+1; j
minPos=j; //更新最小值元素所在位置
}
if(@@[minPos!=i](5)) {//如果最小元素位置不是本趟初始时假定的i,则交换
temp= p[minPos];
p[minPos]=p[i];
p[i]=temp;
}
}
}
int main() {
int i,n,a[10]= {2,5,8,3,6,9,0,1,4,7};
n=10;
select_sort(a,n);
for(i=0; i
printf ("\n");
return 0;
}
```
答案:
第1空:minPos!=i