标题:菜鸟关于冒泡法的疑问!
只看楼主
养潴场农民
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-29
得分:0 
多看看书再来,楼主应该多自学啊,我开始都没想通,你先用你自己的方法冒泡试试,然后再想他的就好想了。

从鸟做起
2006-05-02 19:19
ninanwine
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-5-1
得分:0 
以下是引用雪花啤酒在2006-5-2 2:52:00的发言:
还是不懂啊
能不能再详细点?

a[i]<a[i+1]for(i=0;i<9-j;i++)时候j=0时i从0到8,那i+1就是从0到9了!


用0-1统治世界!
2006-05-02 21:55
ZZCCY
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-5-1
得分:0 
自己多想想哦

程序 是一门语言的艺术,讲究学练读写!
2006-05-02 22:13
huahuayi
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-23
得分:0 

第二次循环应该是N-J-1 因为在比较的时候 比较次数要比数字数量少1 比如10个数字 你只要比较9次就可以了
a[0]和a[1] ........a[8]和a[9]


人在都是在為別人而活着,我也是為了愛我的人和我愛的人而活!!
2006-05-03 01:30
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
得分:0 
回复:(–★–)//楼主朋友,如果这样"冒泡"是否好理解...
以下是引用–★–在2006-5-2 4:38:00的发言:
//楼主朋友,如果这样"冒泡"是否好理解些?
#include<stdio.h>
#define N 10
int main( )
{ int a[N]={1,4,5,8,7,3,2,0,9,6};//N个任意整数
int i,j;
for(i=1;i<=N-1;i++)//第i轮,i=1,2,3,...,N-1
for(j=1;j<=N-i;j++)//第j次,j=1,2,3,...,N-i
if(a[j-1]>a[j])//此处是按升序排列
{int t=a[j-1];a[j-1]=a[j];a[j]=t;}
//至此,排序其实已经完成。俺来看看效果吧:
for(i=0;i<N;i++)printf("%i ",a[i]);
printf("\n");
return 0;
}

再次为本人的程序鼓吹一下:如果内循环头中 i 错为 1 ,运行起来仍正常。当然效率要下降50%。LZ若不明可再发帖,我必复答你!









落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-03 08:36
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
得分:0 
8楼讲得没错。10楼的虽然也可以,但效率比原来的程序低了些.

对不礼貌的女生收钱......
2006-05-03 08:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-61093-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048240 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved