#include<iostream>
using namespace std;
int main(){
int N;
cin>>N;
int *a=new int[N];
for(int i=0;i<N;i++){
cin>>a[i];
}
int k=0;
for(int i=0;i<N;i++){
for(int j=i+1;j<N;j++){
if(a[i]>a[j]){
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for(int i=0;i<N;i++){
cout<<a[i]<<" ";
}
delete []a;
return 0;
}
选择排序(Selection Sort)是一种简单直观的排序算法,它的基本思想是在每一轮中选择数组中的最小(或最大)元素,然后将它与当前位置交换。这个过程不断地选择剩余元素中的最小(或最大)值,将其放置在已排序部分的末尾,直到整个数组有序。
以下是选择排序的步骤:
- 遍历数组: 从数组的第一个元素开始,依次遍历到倒数第二个元素。
- 寻找最小值: 在当前位置及其后面的元素中,找到最小的元素。
- 交换位置: 将找到的最小元素与当前位置的元素交换位置。
- 重复: 继续重复步骤 1 到步骤 3,直到数组完全有序。
选择排序的时间复杂度是 O(n^2),其中 n 是数组的大小。虽然选择排序比一些更高级的排序算法效率较低,但它的实现相对简单,适用于小规模数据的排序。