用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型,单精度型,双精度型。用重载函数实现

怎么用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型,单精度型,双精度型。用重载函数实现?

第1个回答  2013-05-08
#include<iostream>
#include<string>
using namespace std;
int main()
{ long a[5]={10100, -123567, 1198783, -165654, 3456};
int b[5]={1,9,0,23,-45};
float c[5]={2.4,7.6,5.5,6.6,-2.3};
void sort(long []);
void sort(int []);
void sort(float []);
sort(a);
sort(b);
sort(c);
return 0;
}

void sort(long [])
{int i,j;<br/> long t;<br/> for(j=0;j<5;j++)<br/> for(i=0;i<5-j;;j++)<br/> if(a[i]>a[i+1])<br/> {t=a[i];a[i]=a[i+1];a[i+1]=t;}
cout<<"the sorted numbers:"<<endl;
for(i=0;i<5;j++)
cout<<a[i]<<" ";
cout<<endl<<endl;
}

void sort(int [])
{int i,j,t;<br/> for(j=0;j<5;j++)<br/> for(i=0;i<5-j;;j++)<br/> if(a[i]>a[i+1])<br/> {t=a[i];a[i]=a[i+1];a[i+1]=t;}
cout<<"the sorted numbers:"<<endl;
for(i=0;i<5;j++)
cout<<a[i]<<" ";
cout<<endl<<endl;
}

void sort(float [])
{int i,j;<br/> float t;<br/> for(j=0;j<5;j++)<br/> for(i=0;i<5-j;;j++)<br/> if(a[i]>a[i+1])<br/> {t=a[i];a[i]=a[i+1];a[i+1]=t;}
cout<<"the sorted numbers:"<<endl;
for(i=0;i<5;j++)
cout<<a[i]<<" ";
cout<<endl<<endl;
}本回答被网友采纳
相似回答