| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1132 人关注过本帖
标题:看到一经典帖子里的冒泡排序算法,真的对吗?求解
只看楼主 加入收藏
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:23 
看到一经典帖子里的冒泡排序算法,真的对吗?求解
程序代码:
#include "stdio.h"
int main(void)

 {
     int i,j,k;
     int a[10]={10,9,8,7,6,5,4,3,2,1};
     for (i=0;i<9;i++)
     {
         for (j=0;j<9-i;j++)
         {
             if (a[j]>a[j+1])
             {
                 k=a[j];
                 a[j]=a[j+1];
                 a[j+1]=k;
             }
         }
     }
     for (j=0;j<10;j++)
     {
         printf("%-4d",a[j]);
     }
     return 0;

 }


for (i=0;i<9;i++)这里的i<9对吗???我怎么觉得是<10或者是<=9呢????
求助!!!
由于帖子是精华帖,很多人都说写的很经典。所以。。。。吓住了,或者是我理解错了????

[ 本帖最后由 执笔画江山 于 2015-3-27 10:04 编辑 ]
搜索更多相关主题的帖子: 经典 color 
2015-03-27 10:03
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
對不對自己跑一下就知道了唄

授人以渔,不授人以鱼。
2015-03-27 10:25
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 2楼 TonyDeng
我运行了。两种情况下,最后的结果一样。
所有我就有点晕了。

授人以鱼,不如授人以渔
2015-03-27 10:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你改變過數據測試沒有?

授人以渔,不授人以鱼。
2015-03-27 10:38
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 4楼 TonyDeng
改变了他们的顺序
int a[10]={9,10,7,8,6,5,1,3,2,4};

[ 本帖最后由 执笔画江山 于 2015-3-27 10:40 编辑 ]

授人以鱼,不如授人以渔
2015-03-27 10:39
一片苍茫
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-3-16
收藏
得分:0 
回复 楼主 执笔画江山
最笨的方法  :根据 j+1 表达式, 你把10 或 9 放进去,看看数组会不会越界就知道取值范围了。
2015-03-27 10:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你沒發覺那代碼沒處理最後一個數據麽?

授人以渔,不授人以鱼。
2015-03-27 10:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
順便說一句,看那麽多別人的代碼沒用的,就算那真的很巧妙,也不是你自己想出來的,看那些衹能被別人牽著腦袋走路。用你自己實踐檢驗過行之有效的、自己想出來的辦法!

授人以渔,不授人以鱼。
2015-03-27 10:43
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 7楼 TonyDeng
所以我觉得应该是<10或者是<=9

但是运行结果,两种情况下都一样,不论怎么改变顺序,都一样,迷糊了

授人以鱼,不如授人以渔
2015-03-27 10:43
lovegh
Rank: 5Rank: 5
来 自:图灵学院
等 级:职业侠客
威 望:3
帖 子:117
专家分:311
注 册:2015-1-23
收藏
得分:0 
没错啊、只是做过优化的冒泡排序。你设想没趟比较都能扫描到所有该序列中的数,这个序列的最大数最终会处于正确位置。那么经过了9趟,是不是有9个数处于正确位置了,最后一个数呢?一共就10个位置,9个处于正确位置。难道它会飞出电脑来拥抱你

别老是写代码,要多陪妹子,多了解老婆大人,血淋淋的教训。
2015-03-27 11:02
快速回复:看到一经典帖子里的冒泡排序算法,真的对吗?求解
数据加载中...
 
   



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

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