案例描述:
- 利用函数模板封装一个排序函数,可以对不同类型数组进行排序
- 排序规则从大到小,排序算法为选择排序
- 利用char数组和int数组进行测试
#include <iostream>
using namespace std;
template<class T>
void my_sort(T arr[], int len)
{
for (int i = 0; i < len; i++)
{
int biggest = i;
for (int j = i + 1; j < len; j++)
{
if (arr[biggest] < arr[j])
{
biggest = j;
}
}
swap(arr[i], arr[biggest]);
}
}
template<class T>
void swap(T& a, T& b)
{
int temp = a;
a = b;
b = temp;
}
template<class T>
void print_info(T arr[], int len)
{
for (int i = 0; i < len; i++)
{
cout << arr[i] << " ";
}
}
int main()
{
int arr[] = { 3, 5, 1, 0 };
int len = sizeof(arr) / sizeof(int);
my_sort(arr, len);
print_info(arr, len);
char arr2[] = "djalksjd";
len = sizeof(arr2) / sizeof(char);
my_sort(arr2, len);
print_info(arr2, len);
system("pause");
return 0;
}