C++实践参考:排序函数模板

【项目-排序函数模板】
  已知

void Sort(int a[],int size);
void Sort(double a[],int size);

是一个函数模板的两个实例,其功能是将数组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++实践参考:排序函数模板)