/*
*Copyright(c)2016.烟台大学计算机学院
*All right reserved.
*文件名称:test.cpp
*作者:黄金婵
*完成日期:2016年6月20日
*版本号:v1.0
*
*问题描述: 一个函数模板的两个实例,其功能是将数组a中的前size个元素按从小到大顺序排列。试设计这个函数模板。
*程序输入:
*程序输出:
*/
#include<iostream>
using namespace std;
template<class T>
void Sort(T set[],int n)
{
int i,j;
T temp;
for(i=1; i<n; i++)
for(j=n-1; j>=i; j--)
if(set[j-1]>set[j])
{
temp=set[j-1];
set[j-1]=set[j];
set[j]=temp;
}
}
int main()
{
int i;
int a[]= {4,5,2,8,9,3};
double b[]= {3.5, 6.7, 2, 5.2, 9.2, 10.3};
Sort(a,6);
Sort(b,6);
for(i=0; i<6; i++)
cout<<a[i]<<" ";
cout<<endl;
for(i=0; i<6; i++)
cout<<b[i]<<" ";
cout<<endl;
return 0;
}
知识点总结:
C++ 定义了函数模板的部分排序以指定应调用的函数。由于有一些模板可能会视为专用化程度相同,因此排序只是部分的。