选择排序看交换次数为什么过不了
查看原帖
选择排序看交换次数为什么过不了
188389
QQH08楼主2020/5/27 16:59

我是按选择排序的交换次数写的。

求各位大佬,为什么测试点5-8过不了啊???

#include<bits/stdc++.h>
using namespace std;
int n,ans,a[1005];
void ssort(){
    for(int i=1;i<n;i++){
        int k=i;
        for(int j=i+1;j<=n;j++)
            if(a[j]<a[i])k=j;
        if(k!=i){
            swap(a[i],a[k]);
            ans++;
        }
    }
}
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    ssort();
    printf("%d\n",ans);
    return 0; 
}
2020/5/27 16:59
加载中...