函数模板案例(C++)
1.利用选择排序,将不同数据类型的数组进行排序
#include<iostream>
using namespace std;
template<class T>
void swaparr(T& a, T& b)
{
T temp = a;
a = b;
b = temp;
}
template<class T>
void newArr(T arr[], int num)//选择排序
{
for (int i = 0; i < num; i++)
{
int max = i;
for (int j = i + 1; j < num; j++)
{
if (arr[max] < arr[j])
max = j;
}
if (max != i)
swaparr(arr[i], arr[max]);
}
}
template<class T>
void printarr(T arr[], int num)
{
for (int i = 0; i < num; i++)
{
cout << arr[i]<<" ";
}
cout << endl;
}
void test01()
{
char arr[] = "bdazxce";
int num = sizeof(arr)/sizeof(char);
cout << num << endl;
newArr(arr, num);
printarr(arr, num);
}
void test02()
{
int arr1[] = { 5,8,6,9,4,7,3,1,2 };
int num = sizeof(arr1)/sizeof(int);
cout << num << endl;
newArr(arr1, num);
printarr(arr1, num);
}
int main()
{
test01();
test02();
system("pause");
return 0;
}
运行结果