《挑战程序设计竞赛》阅读笔记二 之 ALDS1_2_B Selection Sort

来源:互联网 发布:重大电气知乎 编辑:程序博客网 时间:2024/06/05 08:53

《挑战程序设计竞赛》阅读笔记二 之 ALDS1_2_B Selection Sort

第三章 Sort I

ALDS1_2_B Selection Sort

三大简单排序之 选择排序,选择剩下的最小的放到前面这次循环的开始处。

#include <iostream>using namespace std;int SelectionSort(int a[],int n){    int count=0;    for(int i=0;i<n-1;i++){        int minj=i;        for(int j=i+1;j<n;j++){            if(a[minj]>a[j]){                minj=j;            }        }        if(minj!=i){            int temp = a[minj];            a[minj]=a[i];            a[i]=temp;            count++;        }    }}int main() {        int a[105];    int n;    cin>>n;    for(int i=0;i<n;i++){        cin>>a[i];    }    int count = SelectionSort(a,n);    for(int i=0;i<n;i++){        if(i>0) cout<<" ";        cout<<a[i];    }    cout<<endl;    cout<<count<<endl;    return 0;}
阅读全文
0 0