注册 登录
编程论坛 C++教室

如何将无序的数组按元素的从小到大排序

q3595986 发布于 2007-10-16 16:05, 4515 次点击

将一个无序的数组按元素的从小到大排序
要求:输入元素,并且元素个数不定,希望大家解答下.

8 回复
#2
從霝開匙2007-10-16 16:14
!!

[此贴子已经被作者于2007-10-16 16:25:11编辑过]

#3
aipb2OO72007-10-16 16:30
任何一种容器+任何一种排序算法
#4
yoapple2007-10-16 17:11

几十种排序算法,随便找一个

#5
q35959862007-10-16 21:02
那谁能举个比较简单的例子啊??

[此贴子已经被作者于2007-10-16 22:13:47编辑过]


#6
q35959862007-10-16 22:07
#include<iostream.h>
int main()
{
int s[10000];
int i=0,j,h,sum=0,m,k=0;
cout<<"请输入数字,当输入110时结束输入";
while(1)
{
cin>>h;
if(h==110) // h==100 能不能换成 h==. 来结束输入从而输出结果呢?
break;
s[k++]=h;
}
for(i=0;i<k;i++)
for(j=0;j<k-1;j++)
if(s[j]>s[j+1])
{
m=s[j];
s[j]=s[j+1];
s[j+1]=m;
}
for(i=0;i<k;i++)
cout<<s[i]<<",";
cout<<endl;
return 0;
}

我想把程序里的注释换成个字符来结束输入,有谁能指教下? 如有错误还望指明,谢谢

[此贴子已经被作者于2007-10-16 22:14:13编辑过]

#7
q35959862007-10-17 07:15
谁来指导下啊? 谢谢啦!!!
#8
wdtk2007-10-17 13:19
将 while(1)
{
cin>>h;
if(h==110) // h==100 能不能换成 h==. 来结束输入从而输出结果呢?
break;
s[k++]=h;
}

换为:
while(cin>>h)
{
s[k++]=h;
}
用( ctrl+z)来结束输入
#9
孤魂居士2007-10-18 11:37
找又简单 执行时间短 稳定性强 的算法
1