【c++】選擇排序

#include<iostream>
using namespace std;
int main(){
	int n,k,i,j,a[10001];
	cin>>n;
	for(i=0;i<n;i++)
	  cin>>a[i];
	for(i=0;i<n;i++)
	{
		k=i;
		for(j=i;j<n;j++)
	  {
	  	if(a[j]<a[k])
	  	   k=j;
	  }
	  if(k!=i)
	   swap(a[i],a[k]);
	}
	 for(i=0;i<n;i++)
	  cout<<a[i]; 
	return 0;
} 

選擇排序時間複雜度:O(n*n)
穩定性:不穩定(例如:5,8,5,2,9,排序過程中前後兩個5順序會變)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章