【Aizu ALDS1_2_B --- Selection Sort】

【Aizu ALDS1_2_B --- Selection Sort】


#include <iostream>
using namespace std;
int arr[105];

int selection_sort(int arr[],int n)
{
    int ans=0;
    for(int i=0;i<n;i++)
    {
        int minn=i;
        for(int j=i;j<n;j++)
        {
            if(arr[j]<arr[minn])
                minn=j;
        }
        if(minn!=i)
        {
            ans++;
            int temp=arr[minn];
            arr[minn]=arr[i];
            arr[i]=temp;
        }
    }
    return ans;
}

int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin >> n;
    for(int i=0;i<n;i++)
        cin >> arr[i];
    int ans = selection_sort(arr,n);
    for(int i=0;i<n;i++)
        cout << arr[i] << (i==n-1?'\n':' ');
    cout << ans << endl;
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章