选择法排序升级版

来源:互联网 发布:云计算 安全问题 编辑:程序博客网 时间:2024/06/08 16:09

选择法排序是一种非常直接的排序算法,每一个计算步骤都选出一个最大值,进而完成排序

#include <iostream>#include<cstdio>using namespace std;int select(int a[],int n){        int ans=0,minj;        int t;        for(int i=0;i<n-1;i++)        {                minj=i;                for(int j=i;j<n;j++)                {                     if(a[j]<a[minj])                        minj=j;                }                t=a[i];                a[i]=a[minj];                 a[minj]=t;                 if(i!=minj)                        ans++;        }        return ans;}int main(){   int a[100];   int ans=0;//初始化,不然结果就错了   int n;   cin>>n;   for(int i=0;i<n;i++)   {           cin>>a[i];   }   ans=select(a,n);   for(int i=0;i<n;i++)   {          if(i>0)                cout<<" ";          cout<<a[i]<<endl;   }   cout<<ans;//交换次数   cout<<endl;    return 0;}
//


0 0