通常要是闲一组数据的排序要创建一个函数,而实现另外一组类类型的数据排序时又要创建一个函数,但是如果使用函数模板就可以通过一个函数来实现。本实例将通过函数模板实现不同类型数据的排序。
函数模板的声明方式如下:
template <class T>
下面给出一个具体的函数:
/******************************************* Sort any tpye array *******************************/
/***************************************************************************************************************/
/*Author: TianLiang */
/*Time: 2011/10/29 */
/*Function: A template to sort any type of array */
template <class Type> //Define a template
void CCalculateSimilarity::Sort(Type Array[], int nLen)
{
Type nTmp;
for(int i=0;i<nLen-1;i++) //起泡法排序
{
for(int j=0;j<nLen-i-1;j++)
{
if(Array[j]>Array[j+1]) //Exchange the data
{
nTmp=Array[j];
Array[j] = Array[j+1];
Array[j+1]=nTmp;
}
}
}
//return Array[nLen];
}