为了账号安全,请及时绑定邮箱和手机立即绑定

求大神指点指点。

for(i=8; i>=0; i--)//控制每趟比较的最大下标


 {


        for(j=0;j<=i;j++)//控制每次相邻元素的下标


        {


            if(arr[j]>arr[j+1])      //当前面的数比后面的数大时


这两个for  看不懂在做什么 在运行什么都不知道。。。比较两个数大小、排序  直接用if后面的不就行了吗?


正在回答

2 回答

i是循环次数控制,j是循环数组里面的对象,要实现整个数组的冒泡排序光对比两个单独的数组的数是不够的,要一次次循环换位排序,i,j的作用就是控制循环。

2 回复 有任何疑惑可以回复我~
#1

616516334 提问者

万分感谢。
2016-07-20 回复 有任何疑惑可以回复我~

一重for循环只能完成一次冒泡,一次冒泡只是将最大的数换到了最后,其他位置的数还是无序的

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       924400    人
  • 解答问题       20753    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

求大神指点指点。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信