鱼C论坛

 找回密码
 立即注册
查看: 1191|回复: 10

[已解决]冒泡排序求解惑

[复制链接]
发表于 2020-5-11 01:23:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
for ( i = 0; i < su - 1; i++) {//比较轮数,比较减一次(su-1)
                //因为每次比较一次少一个元素(su-1),但每次循环i++,所以要(su-1-i)才是少一个元素
                for (j = 0; j < su - 1 - i; j++) {//
                        if (a[j] > a[j + 1]) {//两个相邻的元素判断
                                int tap = 0;
                                tap=a[j+1];
                                a[j + 1] = a[j];
                                a[j] = tap;
                        }
                }
        }
老哥们,冒泡排序第二个for循环(j<su-1-i)我没有整明白,写成(su-1)的话结果也是对的。求解惑
最佳答案
2020-5-11 03:23:36
之后的元素是有序的,并且是冒上去的泡,你比较不比较,他们都是大的(或者小的,根据你的条件)

你这个问题,自己动手在纸上画一下就行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-11 03:23:36 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +1 鱼币

之后的元素是有序的,并且是冒上去的泡,你比较不比较,他们都是大的(或者小的,根据你的条件)

你这个问题,自己动手在纸上画一下就行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-11 05:54:29 | 显示全部楼层

回帖奖励 +1 鱼币

楼上已解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-11 07:16:00 | 显示全部楼层

回帖奖励 +1 鱼币

那我就领鱼币吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-11 07:58:52 | 显示全部楼层
白嫖个鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-11 09:29:56 | 显示全部楼层
循环次数的问题,你可以放一个变量进去看看有-i和没-i的循环次数是多少.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2020-5-11 09:30:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-11 09:30:57 | 显示全部楼层
不许白嫖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-11 09:31:09 | 显示全部楼层
内层循环 for 条件 j < su - 1 - i 与 j< su - 1 结果一样,前者就能完成排序了,因为外层循环一次,就会有一个已经排序完成了,下次外层循环就没必要再对其进行比较了。
给你一张图看看就知道了。即使你把内层循环的条件改为后者,也仅仅是多跑几遍if,二不会真的交换,因为后面的已经排好序了,已经不符合交换的条件了
20180523204158269.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-5-11 09:35:20 | 显示全部楼层
sunrise085 发表于 2020-5-11 09:31
内层循环 for 条件 j < su - 1 - i 与 j< su - 1 结果一样,前者就能完成排序了,因为外层循环一次,就会有 ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-11 09:36:14 | 显示全部楼层
大甲鱼qq 发表于 2020-5-11 09:29
循环次数的问题,你可以放一个变量进去看看有-i和没-i的循环次数是多少.

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 00:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表