code4sk/c/sourcecode/朱森森带领的奇妙冒险/2022-2023第二学期单开班第2次月考/7-1 选择法排序之第k趟.cpp
2023-10-18 16:17:32 +08:00

60 lines
851 B
C++

/*
7-1 ???????k?
?? 10
?? ??
?? ??????
???????????,????n???????????,???k?(k?0??)???????
???????????:
?0?:?????n??(a[0]? a[n-1])??????,??? a[0]??;
?1?:???????n-1??(a[1] ? a[n-1])??????,??? a[1] ??;
……
?k?:???????n-k??(a[k]?a[n-1])??????,??? a[k] ??;
……
?n-2?:???????2??(a[n-2] ?a[n-1])??????,??? a[n-2]???
????:
????????????10????n??????n-1????k??????n???,????????
????:
????????????k?(k?0??)?????,??k??a[0]? a[n-1]??,??????????,??????????
????:
4 1
5 1 7 2
????:
1 2 7 5
*/
#include<stdio.h>
int main()
{
int i,j,n,k;
scanf("%d %d",&n,&k);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
if(n==1) printf("%d",a[0]);
for(i=0;i<n-1;i++){
int c=i;
for(j=i+1;j<n;j++){
if(a[c]>a[j]) c=j;
}
int t=a[i];
a[i]=a[c];
a[c]=t;
if(i==k){
printf("%d",a[0]);
for(j=1;j<n;j++)
printf(" %d",a[j]);
}
}
return 0;
}