代码示例
#include <iostream>
using namespace std;
#include <string>
template<typename T>
void printArr(T &arr ,int len)
{
for(int i = 0; i < len; i++)
{
cout <<arr[i] << " ";
}
cout << endl;
}
template<typename T>
void mySwap(T &a, T &b)
{
T temp = a;
a = b;
b = temp;
}
template<typename T>
void mySort(T &arr,int len)
{
int i = 0;
int j = 0;
printArr(arr,len);
for(i = 0; i < len; i++)
{
int max = i;
for(j = i+1 ;j < len; j++)
{
if(arr[max] < arr[j])
{
max = j;
}
}
if(i != max)
{
mySwap(arr[i],arr[max]);
}
}
}
void test1()
{
char arr[] = "deafcb";
mySort(arr,sizeof(arr));
printArr(arr,sizeof(arr));
}
void test2()
{
int arr[8] = {1,2,1,4,2,5,6,8};
int num = sizeof(arr)/sizeof(int);
mySort(arr,num);
printArr(arr,num);
}
int main()
{
test1();
test2();
return 0;
}
输出结果