天天看點

排序算法之直接選擇排序

#include <iostream>
using namespace std;
template<class T>
/********************交換函數**************************/
void myswap(T &i,T &j){
	T flag=i;
	i=j;
	j=flag;
}
/*********************直接選擇排序算法*******************/
template<class T>
void mySort(T str[],int n){
	for (int i=0;i<n-1;i++)
	{
		int min=i;
		for (int j=i+1;j<n;j++)
		{
			if (str[min]>str[j])
			{
				min=j;
			}
		}
		myswap(str[min],str[i]);
	}
}
int main()
{
	int str[]={1,2,4,5,3,6};
	mySort(str,6);
	for (int i=0;i<6;i++)
	{
		cout<<str[i]<<" ";
	}
	cout<<endl;
	return 0;
}
           

繼續閱讀