编写一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整形,单精度,双精度。用重载函数实现
2015-04-19 21:43
5947 查看
#include <iostream>
#include<cstring>
using namespace std;
int main()
{
int pl(int *q,int n);
double pl(double *p,int n);
float pl(float *p,int n);
int a,n;
cout<<"您需要比较什么类型的数:\n(1)整形\n(2)单精度\n(3)双精度"<<endl<<"输入类型前的编号"<<endl;
cin>>a;
cout<<"请输入您需要比较数据的个数:"<<endl;
cin>>n;
cout<<"请输入"<<n<<"个数,用空格分开\n";
if(a==1)
{
int *p= new int
;
for(int i=0;i<n;i++)
cin>>p[i];
pl(p,n);
}
if(a==2)
{
double *p= new double
;
for(int i=0;i<n;i++)
cin>>p[i];
pl(p,n);
}
if(a==3)
{
float *p= new float
;
for(int i=0;i<n;i++)
cin>>p[i];
pl(p,n);
}
return 0;
}
int pl(int *q,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
{
if(q[i]>q[j])
{
int x;
x=q[j];
q[j]=q[i];
q[i]=x;
}
}
}
for (int x=0;x<n;x++)
cout<<q[x]<<" ";
return 0;
}
float pl(float *q,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
{
if(q[i]>q[j])
{
float x;
x=q[j];
q[j]=q[i];
q[i]=x;
}
}
}
for (int x=0;x<n;x++)
cout<<q[x]<<" ";
return 0;
}
double pl(double *q,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
{
if(q[i]>q[j])
{
double x;
x=q[j];
q[j]=q[i];
q[i]=x;
}
}
}
for (int x=0;x<n;x++)
cout<<q[x]<<" ";
return 0;
}
#include<cstring>
using namespace std;
int main()
{
int pl(int *q,int n);
double pl(double *p,int n);
float pl(float *p,int n);
int a,n;
cout<<"您需要比较什么类型的数:\n(1)整形\n(2)单精度\n(3)双精度"<<endl<<"输入类型前的编号"<<endl;
cin>>a;
cout<<"请输入您需要比较数据的个数:"<<endl;
cin>>n;
cout<<"请输入"<<n<<"个数,用空格分开\n";
if(a==1)
{
int *p= new int
;
for(int i=0;i<n;i++)
cin>>p[i];
pl(p,n);
}
if(a==2)
{
double *p= new double
;
for(int i=0;i<n;i++)
cin>>p[i];
pl(p,n);
}
if(a==3)
{
float *p= new float
;
for(int i=0;i<n;i++)
cin>>p[i];
pl(p,n);
}
return 0;
}
int pl(int *q,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
{
if(q[i]>q[j])
{
int x;
x=q[j];
q[j]=q[i];
q[i]=x;
}
}
}
for (int x=0;x<n;x++)
cout<<q[x]<<" ";
return 0;
}
float pl(float *q,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
{
if(q[i]>q[j])
{
float x;
x=q[j];
q[j]=q[i];
q[i]=x;
}
}
}
for (int x=0;x<n;x++)
cout<<q[x]<<" ";
return 0;
}
double pl(double *q,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
{
if(q[i]>q[j])
{
double x;
x=q[j];
q[j]=q[i];
q[i]=x;
}
}
}
for (int x=0;x<n;x++)
cout<<q[x]<<" ";
return 0;
}
相关文章推荐
- <笔试><面试>编写一个排序函数,实现,既可以排序整形数组,又可以排序字符串。
- <笔试><面试>编写一个排序函数,实现,既可以排序整形数组,又可以排序字符串。
- 实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
- 实现一个函数clone,可以对javascript中的5种主要的数据类型进行值复制。
- 【前端js】实现一个函数可以对JavaScript中的5种主要数据类型进行赋值
- 实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
- 实现一个clone函数并可以对js中的5种主要数据类型进行值复制
- 面试题---实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
- 个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出
- 实现一个函数排序各种类型的数据
- 编写一个程序对Largest函数进行测试,找出一组数据的最大值
- 队列和栈面试题(一)— 请编写一个程序,按升序对栈进行排序,要求最多只能使用一个额外的栈存放临时数据
- 参考C语言的qsort函数实现一个一个能对任意数据类型(包括结构体)的数组进行排序的函数(里面用的不是快速排序)
- 自己实现一个bubble_sort(冒泡排序),可以完成不同类型数据的排序
- 怎样实现一个函数clone,对JavaScript中的五种主要的数据类型进行值复制
- 【C语言】使用回调函数实现一个通用的冒泡排序,可以排序不同的数据类型。
- 使用回调函数实现一个通用的冒泡排序,可以排序不同的数据类型。
- 实现一个函数clone,使JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
- 3. 编写一个C程序,实现对10个整数进行升序排序输出。
- 编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。