编一个C++程序,用同一个函数名对n个数据进行从小到大排序。用重载函数实现。主要是程序!!

如题所述

#include

using namespace std;

int main()

{ int a[5]={1,9,0,23,-45};

float b[5]={2.4, 7.6, 5.5, 6.6, -2.3 };

long int  c[5]={10100,-123567, 1198783,-165654, 3456};

void sort(int []);

void sort(float []);

void sort(long []);

sort(a);

sort(b);

sort(c);

return 0;

}

void sort(int a[])

{int i,j,t;

for (j=0;j<5;j++)

for(i=0;i<5-j;i++)

if (a[i]>a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

cout<<"the sorted numbers :"<<endl;

for(i=0;i<5;i++)

cout<<a[i]<}

拓展资料:

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。

参考资料:c++ 百度百科

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-19
就是循环比较,第一个数和其他n_1个数分别比较,如果大于就交换位置,否则不动。这样循环比较。追答

比较(n-1)* n次

第2个回答  推荐于2016-10-04
这个建议使用函数模版来做,例如:
#include<iostream>
using namespace std;
template<typename T> //T可以用其他字母代替
T paixu(T*a,int n) //排序函数需要两个参数,数组的首地址和元素个数
{
for(int i=0;i<n;i++){ //冒泡排序,升序
for(int j=0;j<n;j++){
if(a[i]<a[j]){
T temp=a[i];
a[i]=a[j];
a[j]=temp;}}}
for(int i=0;i<n;i++) cout<<a[i]<<endl; //输出排序后的结果
}
int main()
{
int a[5],n; //为了方便测试中就用int了
n=sizeof(a)/sizeof(int); //考虑到实际n的值可能需要计算得出
for(int i=0;i<n;i++) cin>>a[i]; //输入数组中的元素
paixu(a,n); //调用排序函数
system("pause");
}
其实最简单的解决方法是用sort函数,只需#include<algorithm>就可以了,默认升序排序。
sort(数组首地址即数组名,首地址+数组长度,排序方式)
如果不写最后的参数则默认升序排列,以上面的程序为例,可以这样写:
sort(a,a+n); //前面不要忘记头文件
这个方法很简单的本回答被提问者和网友采纳