选择排序

来源:互联网 发布:武延军 中科院软件所 编辑:程序博客网 时间:2024/06/06 05:56

选择排序,排序字母时存在不稳定排序

代码:

#include <cstdio>#include <algorithm>#include <iostream>using namespace std;int Sort(int A[],int n){int sum=0,minj,i,j;for( i=0;i<n;i++)   {minj=i;for( j=i;j<n;j++)    //选出来每次的最小值{if( A[j]<A[minj] )  {minj=j;}}swap( A[i], A[minj] );if(i!=minj)    //排除i的位置是最小值的情况,如果i是最小值就不用判断了, sum++; }return sum; }int main(){int n,sw,A[105];cin>>n;for(int i=0;i<n;i++)cin>>A[i];sw = Sort( A,n );for(int i=0;i<n;i++)printf("%d%c",A[i],i==n-1?'\n':' ');cout<<sw;return 0;}/*输入: 65 6 4 2 1 3 输出:1 2 3 4 5 64             //4表示交换的次数*/ 




原创粉丝点击