黑马程序员技术交流社区
标题:
冒泡排序问题
[打印本页]
作者:
mingjixiaohui
时间:
2014-6-5 20:58
标题:
冒泡排序问题
本帖最后由 mingjixiaohui 于 2014-6-7 18:58 编辑
void sort(){int i,j,temp;
for(i=0;i<=n-1;i++)//循环次数
{for(j=1;j<=n-i-1;j++)//这里的j<=n-i-1是什么意思啊
if(r[j]>r[j+1]){
temp=r[j];
r[j]=r[j+1];
r[j+1]=temp;
}
}
}
复制代码
作者:
为梦想挺身而出
时间:
2014-6-5 21:46
汗,你从哪复制过来的,你这发出来的只是半块小代码,发全了才好判断,记住一点 第一个数与第二个数相比较,如果第一个数比第二个数大,就与第二个数互换,以此类推, 最后 输出从大到小还是从小到大,用顺序或逆序即可
作者:
xp8812
时间:
2014-6-5 21:48
本帖最后由 xp8812 于 2014-6-5 21:49 编辑
兄弟你的代码有两处错误,第一个是第3行的j=1应该是j=0否者第一个数字不会参与排序,第二个错误还是第3行j=1后面的符号应该是分号(;)而不是逗号(,)。j<=n-i-1通过判读当前数后面还有几个数,从而控制当前循环的次数
作者:
夏沫的黄昏′
时间:
2014-6-5 22:21
j<n-i-1 是为了避免没必要的运算 因为 后面的运算重复 你模拟下冒泡的结构 看看就明白了
作者:
傘が咲く
时间:
2014-6-6 08:39
代码插入规范
关于发表帖子时插入代码的规范
http://bbs.itheima.com/thread-116527-1-1.html
(出处: 黑马程序员IT技术论坛)
谢谢合作:handshake
作者:
魑魅魍魉121
时间:
2014-6-6 08:49
冒泡排序需要进行两次循环,一次外循环是遍历所有的要排序的数,一次内循环是遍历所有未排序的数所以j<=n-i-1.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2