### 编写一个函数模板，实现对各种数据类型数组进行从小到大排序

函数模板增强了函数的灵活性，它可以使得一个算法能够脱离具体的类型，而适应多种数据类型。例如，下面的代码设计了一个函数模板，能够对各种数值类型的数组进行从小到大排序。

答案：

#include "stdafx.h"

template <class type,int len> //定义函数模板，它包含了一个模板类型参数和一个模板非类型参数

void Sort(type Array[len])

{

int tvar = 0;

for(int i=0; i<len; i++) //对数组进行排序

for(int j=0; j<len-i; j++)

{

if (Array[j] > Array[j+1])

{

tvar = Array[j];

Array[j] = Array[j+1];

Array[j+1] = tvar;

}

}

}

int main(int argc, char* argv[])

{

int List[5] = {10,8,12,45,13}; //定义一个整型数组

Sort<int,5>(List); //实例化函数模板

for(int i=0; i<5; i++) //输出数组元素

{

printf("%d\n",List[i]);

}

printf("Hello World!\n");

return 0;

}