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

会不会存在if(arr[j]<arr[j+1])如果存在怎么解释

会不会存在if(arr[j]<arr[j+1])如果存在怎么解释

j=0时

数值交换后arr[0]=1.77,arr[1]=1.78

j=1时

没交换时arr[2]=1.82    arr[1]<arr[1+1]怎么解释啊

正在回答

2 回答

if(arr[j]<arr[j+1])

{

        temp=arr[j];//前面声明temp

        arr[j]=arr[j+1];

        arr[j+1]=temp;

}

如果满足arr[j]<arr[j+1],那么arr[j]和arr[j+1]就会交换值,如果不满足这个条件的话就不会交换例如arr[j]>arr[j+1],那么编译器就不会去交换arr[j]和arr[j+1]的值.


好比开始是arr[0]=3,arr[1]=4,arr[2]=2.

当J=0时arr[0]和arr[1]值交换,arr[0]=4,arr[1]=3;

当J=1时arr[1]>arr[2],arr[1]和arr[2]的值不会交换,既arr[1]还是=3,  arr[2]还是=2.


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

邓美丽 提问者

非常感谢!
2016-07-30 回复 有任何疑惑可以回复我~

这段主要是将相邻两个数进行比较,

如果前面的数 > 后面的数  就将前后数对调

如果前面的数 < 后面的数 就不需要做什么

总之,两相邻数比较后的结果是将较大的数放到后面,这个较大的数再与其后面相邻的数比较,保证每次比较后,较大的数都在后者的位置,这样一串数字中,最大的数就跑到了最后面,这就是帽泡排序。,

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

举报

0/150
提交
取消

会不会存在if(arr[j]<arr[j+1])如果存在怎么解释

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