#include<iostream>
using namespace std;
// 函数模板 本质 : 类型参数化
//方便.....
//目的:让你对字符数组和int数组进行排序
template <typename T1,typename T2>//参数T2可以不用类型换参数
int mySort(T1 *array,T2 size)
{
T2 i, j;
T1 tem;
if (array==NULL)
{
return -1;
}
//选择排序
for (i = 0; i < size;i++)
{
for (j = i + 1; j < size;j++)
{
if (array[i]<array[j])
{
tem = array[i];
array[i] = array[j];
array[j] = tem;
}
}
}
return 0;
}
template<typename T,typename T2>
void myPrint(T *array,T2 size)
{
T2 i = 0;
for (i = 0; i < size;i++)
{
cout << array[i] << ' ';
}
}
int main(void)
{
//int类型进行排序
{
int myarray[] = { 1, 23, 43, 2, 12, 34, 73 };
int size = sizeof(myarray) / sizeof(myarray[0]);
mySort<int ,int >(myarray, size);
cout << "排序之后" << endl;
myPrint<int, int>(myarray, size);
}
//char 类型的排序
{
char buf[] = "jisuanjizuchengyaunli";
int len = strlen(buf);
mySort<char, int>(buf, len);//<>内是类型参数化列表,必须显示的指定类型
myPrint<char, int>(buf, len);
}
system("pause");
return 0;
}
/*
* 排序之后
73 43 34 23 12 2 1 z y u u u s n n n l j j i i i h g e c a a 请按任意键继续. . .
*/
003函数模板做函数参数类型强化_对字符数组和整形数组排序
猜你喜欢
转载自blog.csdn.net/baixiaolong1993/article/details/89482449
今日推荐
周排行