A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mingjixiaohui 中级黑马   /  2014-6-5 20:58  /  1964 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 mingjixiaohui 于 2014-6-7 18:58 编辑
  1. void sort(){int i,j,temp;
  2. for(i=0;i<=n-1;i++)//循环次数
  3. {for(j=1;j<=n-i-1;j++)//这里的j<=n-i-1是什么意思啊
  4. if(r[j]>r[j+1]){
  5. temp=r[j];
  6. r[j]=r[j+1];
  7. r[j+1]=temp;
  8. }
  9. }
  10. }
复制代码


评分

参与人数 1黑马币 +1 收起 理由
傘が咲く + 1

查看全部评分

5 个回复

正序浏览
冒泡排序需要进行两次循环,一次外循环是遍历所有的要排序的数,一次内循环是遍历所有未排序的数所以j<=n-i-1.
回复 使用道具 举报
代码插入规范

关于发表帖子时插入代码的规范
http://bbs.itheima.com/thread-116527-1-1.html
(出处: 黑马程序员IT技术论坛)

谢谢合作:handshake
回复 使用道具 举报 1 0
j<n-i-1 是为了避免没必要的运算  因为 后面的运算重复 你模拟下冒泡的结构 看看就明白了
回复 使用道具 举报 1 0
本帖最后由 xp8812 于 2014-6-5 21:49 编辑

兄弟你的代码有两处错误,第一个是第3行的j=1应该是j=0否者第一个数字不会参与排序,第二个错误还是第3行j=1后面的符号应该是分号(;)而不是逗号(,)。j<=n-i-1通过判读当前数后面还有几个数,从而控制当前循环的次数
回复 使用道具 举报 1 0
汗,你从哪复制过来的,你这发出来的只是半块小代码,发全了才好判断,记住一点 第一个数与第二个数相比较,如果第一个数比第二个数大,就与第二个数互换,以此类推, 最后 输出从大到小还是从小到大,用顺序或逆序即可
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马