天天看點

基礎排序算法----選擇排序

選擇排序(Selection sort)是一種簡單直覺的排序算法。它的工作原理是:第一次從待排序的資料元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小(大)元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定的排序方法。

#include<bits/stdc++.h>
using namespace std;
int a[100];
void QuickSelectionSort(int a[],int n)
{
	int min,t,i,j;
	for(i=0;i<n-1;i++)
	{
		min=i;
		for(j=i+1;j<n;j++)
			if(a[j]<a[min])
				min=j;
		swap(a[i],a[min]);
	}
}
int main()
{
	int n,i;
	cin>>n;
	for(i=0;i<n;i++)
		cin>>a[i];
	QuickSelectionSort(a,n);
	for(i=0;i<n;i++)
		cout<<a[i]<<' ';
}
           

繼續閱讀