#include<iostream>
using namespace std;
template<class T>void selectionSort(T *a,int num)
{
int min=0; //最小值下标
for(int i=0;i<num-1;++i)
{
min = i;
for(int j=i+1;j<num;++j)
if(a[j]<a[i])
min = j;
swap(a[i],a[min]);
}
}
//template<class T>void selectionSort(T *a,int num)
//{
// int min=0; //最小值
// int minN=0; //最小值下标
// for(int i=0;i<num-1;++i)
// {
// min = a[i];
// for(int j=i+1;j<num;++j)
// {
// if(a[j]<min)
// {
// min = a[j];
// minN = j;
// }
// }
// if(a[i] != min)
// swap(a[i],a[minN]);
// }
//}
template<class T>void print(T *a,int n)
{
for(int i=0;i<n;++i)
cout<<a[i]<<ends;
cout<<endl;
}
int main()
{
int a[] = {5,4,3,2,8,6,7,1};
// char a[]="helloworld!";
int num = sizeof(a)/sizeof(a[0]);
selectionSort(a,num);
print(a,num);
return 0;
}
selectionSort
最新推荐文章于 2018-11-18 19:23:30 发布