选择排序

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int a[n+5];
    for(int i = 0;i<n;i++){
        cin>>a[i];
    }
    int j1;
    for(int i = 0;i<n;i++){
        j1 = i;
        for(int j = i+1;j<n;j++){
            if(a[j]<a[j1]){
                j1 = j;
            }
        }
        swap(a[i],a[j1]);
    }
    for(int i = 0;i<n;i++){
        cout<<a[i]<<" ";
    }
    return 0;
}

 基本思想

每次从未排序中选择出一个最小的元素,和未排序的第一个元素进行交换

重复上述过程,能将元素进行升序排列

posted @ 2024-04-05 08:55  王一行(小号)  阅读(4)  评论(0编辑  收藏  举报