#include <iostream>
using namespace std;
template<class T>
void swapTemp(T &a, T &b)
{
T tmp = a;
a = b;
b = tmp;
}
template<class T>
void printTemp(T array[], int num)
{
int i = 0;
for (i = 0; i<num; i++)
{
cout<<array[i]<<" ";
}
cout<<endl;
}
template<class T>
void sortTemp(T array[], int num)
{
int i = 0;
int j = 0;
int max = 0;
for (i = 0; i<num-1; i++)
{
max = i;
for (j = i+1; j<num; j++)
{
if (array[max] < array[j])
{
max = j;
}
}
if (max != i)
{
swapTemp(array[i], array[max]);
}
}
}
void test1()
{
int array[]={3,6,9,8,0,4, 2, 1};
int num = sizeof(array)/sizeof(int);
sortTemp(array, num);
printTemp(array,num);
char str[]="bacdef";
int num1 = sizeof(str)/sizeof(char);
sortTemp(str, num1);
printTemp(str,num1);
}
int main()
{
test1();
return 0;
}