搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ [求助]如何实现在一次循环下既对数字排序又可以按由小到大输出
标题:
[求助]如何实现在一次循环下既对数字排序又可以按由小到大输出
只看楼主
nuciewth
来 自:我爱龙龙
等 级:
贵宾
威 望:
104
帖 子:9786
专家分:208
注 册:2006-5-23
第
21
楼
得分:0
郑重说明一下.
不可能写出复杂度是O(n)的排序算法的.
LS说的可能写出一次循环,但循环变量已经是两个,而且可以分析,复杂度不是O(n).
倚天照海花无数,流水高山心自知。
2007-05-01 19:30
神vLinux飘飘
来 自:浙江杭州
等 级:
贵宾
威 望:
91
帖 子:6140
专家分:217
注 册:2004-7-17
第
22
楼
得分:0
等等,我想出了个一次循环就能排序的好方法
用一个大循环....嘿嘿嘿嘿,反正你也没限定我这个循环最多循环多少次,到一定的次数我就控制i,j让他重新赋值就OK了,哈哈
淘宝杜琨
2007-05-01 19:39
cdmalcl
等 级:
贵宾
威 望:
24
帖 子:4091
专家分:524
注 册:2005-9-23
第
23
楼
得分:0
main()
{
for(i =0;i < 2*N;i++)
{
if(i < N)
{
第一次循环
}
else
{
第二次循环
}
}
}
main()
{
for(i = 0;i < M*N;i++)
{
i%N;
}
}
2007-05-01 20:16
洛川
等 级:
新手上路
帖 子:34
专家分:0
注 册:2007-4-28
第
24
楼
得分:0
那不就是我用的方法嘛。。。。
这样还可以把输入循环也整合进去
2007-05-01 21:50
feelings010
等 级:
新手上路
帖 子:63
专家分:0
注 册:2007-4-20
第
25
楼
得分:0
我想问大家一次循环是怎么个理解法的,是不是在程序中只能出现一个循环啊?
2007-05-01 22:15
洛川
等 级:
新手上路
帖 子:34
专家分:0
注 册:2007-4-28
第
26
楼
得分:0
额。。。
好像是,我是这么理解的
2007-05-02 15:24
梁健
来 自:江苏
等 级:
新手上路
帖 子:4
专家分:0
注 册:2010-5-19
第
27
楼
得分:0
#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("please input 10 numbers: \n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers is :\n");
for (i=0;i<10;i++)
printf("%d",a[i]);
}
十个数字排序
2010-05-26 09:46
27
3/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-134745-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.189684 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved