问答详情
源自:6-5 数组的应用(一)

会不会存在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]怎么解释啊

提问者:邓美丽 2016-05-25 23:36

个回答

  • 程序猿3381219
    2016-05-27 13:50:27
    已采纳

    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.


  • 小雾3378873
    2016-06-15 12:08:05

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

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

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

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