选择排序

核心:

  • 选择最小的元素往某一端放
  • for example:5 4 3 --> 3 5 4

时间复杂度:

  • 平均:O(n2)O(n^2)
  • 最优:O(n2)O(n^2)
  • 最坏:O(n2)O(n^2)

空间复杂度:

  • ?(1)?(1) //忘了用啥字母了

稳定性:

  • 稳定

参考代码:

  • 注:代码表示输入n个数进行选择排序
#include<iostream>
using namespace std;
int a[1005];
int main(){
	
	int n;
	cin>>n;
	for(int i=1;i<=n;++i)cin>>a[i];
	
	for(int i=1;i<n;++i){
		for(int j=i+1;j<=n;++j){
			if(a[i]>a[j])swap(a[i],a[j]);
		}
	}
	
	for(int i=1;i<=n;++i)cout<<a[i]<<' ';
	
 return 0;
}