d对上题改用函数模板实现,并与上题程序进行对比分析
2015-04-19 21:52
381 查看
#include <iostream>
#include<cstring>
using namespace std;
template<typename T>
T pl(T *q,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
{
if(q[i]>q[j])
{
T x;
x=q[j];
q[j]=q[i];
q[i]=x;
}
}
}
for (int x=0;x<n;x++)
cout<<q[x]<<" ";
return 0;
}
int main()
{
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;
}
#include<cstring>
using namespace std;
template<typename T>
T pl(T *q,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
{
if(q[i]>q[j])
{
T x;
x=q[j];
q[j]=q[i];
q[i]=x;
}
}
}
for (int x=0;x<n;x++)
cout<<q[x]<<" ";
return 0;
}
int main()
{
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;
}
相关文章推荐
- Android 完美实现图片圆角和圆形(对实现进行分析)
- 位图文件(BMP)格式分析以及程序实现
- 想自己用C#写程序,主要功能是对其他的程序进行打包,如何实现,求高手指教!!!
- 3. 编写一个C程序,实现对10个整数进行升序排序输出。
- 一个小语言的词法分析程序原理及其实现(2)
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优
- Android 完美实现图片圆角和圆形(对实现进行分析)
- 机器学习之-使用Apriori算法进行关联并分析-具体怎么实现及应用
- 利用backtrace和objdump进行分析挂掉的程序
- 使用Olami SDK实现一个语音输入数字进行24点计算的iOS程序
- 微信小程序中进行地图导航功能的实现方法
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优
- C语言单向动态链表程序,实现链表的建立,合并,重新排序,链表元素的插入与删除,以及根据元素成员的值进行元素删除。
- GDB arm-linux交叉编译移植和使用方法(特别是对于正在运行的程序或者段错误的程序进行分析)
- 数值分析 Gauss-Seidel迭代法求解线性方程组 MATLAB程序实现
- 实验 5.2.8-3 对文件的任意部分加锁 1. 用 fcntl()对文件进行锁操作。 2. 完善课件中的示例程序,给出程序运行结果及分析。 给b.txt中的前10个字节加写锁
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优
- 设计有穷自动机DFA实现C++简单程序的词法分析、扫描(编译原理实验) 推荐
- 3种方式实现KVO并进行对比
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优