也许有更好的方式实现,欢迎礼貌指导
#include <iostream>
using namespace std;
//交换函数模板类
template<typename T>
void mySwap(T &a,T &b)
{
T temp=a;
a=b;
b=temp;
}
//排序函数模板
template<typename T>
T mySort(T arr[],int len)
{
for(int i=0;i<len;i++)
{
//确定最大数下标
int max=i;
for(int j=i+1;j<len;j++)
{
if(arr[j]>arr[max])
{
max=j;
}
}
//交换达到排序的要求
if(max!=i)
{
mySwap(max,i);
}
}
}
template<typename T>
void printArr(T arr[],int len)
{
for(int i=0;i<len;i++)
{
cout<<arr[i]<<" "<<endl;
}
}
int main()
{
char charArr[]="cbdafeg";
int num = sizeof(charArr)/sizeof(char);
mySort(charArr,num);
printArr(charArr,num);
int intArr[]={7,5,6,4,8,2,3,1};
num =sizeof(intArr)/sizeof(int);
mySort(intArr,num);
printArr(intArr,num);
return 0;
}