您的位置:首页 > 其它

排序函数模板 冒泡法

2016-06-15 22:14 295 查看

/* 
*Copyright(c) 2016.烟台大学计算机与控制工程学院 
*ALL rights  reserved. 
*文件名称:test.cpp 
*作者:隋宗涛
*完成日期:2016年5月31 
*问题描述:将数组a中的前size个元素按从小到大顺序排列 
*/  
#include <iostream>  
using namespace std;  
template<class T>  
void Sort(T *p,int n)  
{  
    int i,j;  
    T t;  
    for(i=1;i<n;i++)  
        for(j=0;j<n-1-i;j++)  
          if(*(p+j)>*(p+j+1))  
         {  
            t=*(p+j);  
            *(p+j)=*(p+j+1);  
            *(p+j+1)=t;  
         }  
}  
int main()  
{  
    int i;  
    int a[]={1,3,2,5,4,7};  
    double b[]={3.1,2.1,4.2,2.4,8.2,4.2};  
    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;  
}  
/*
*Copyright(c) 2016.烟台大学计算机与控制工程学院
*ALL rights  reserved.
*文件名称:test.cpp
*作者:杨驰
*完成日期:2016年5月31
*问题描述:将数组a中的前size个元素按从小到大顺序排列
*/
#include <iostream>
using namespace std;
template<class T>
void Sort(T *p,int n)
{
int i,j;
T t;
for(i=1;i<n;i++)
for(j=0;j<n-1-i;j++)
if(*(p+j)>*(p+j+1))
{
t=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=t;
}
}
int main()
{
int i;
int a[]={1,3,2,5,4,7};
double b[]={3.1,2.1,4.2,2.4,8.2,4.2};
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;
}

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: