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

有没有大神帮忙解读一下,这个for循环怎么走的,先走哪再走哪,尽量详细点,谢

int[] arr = {99,44,77,33,55,88,66};

  for(int x = arr.length-1; x >= 0; x--){
       for(int y = x-1; y >= 0; y--){
            if(arr[y] > arr[x]){
             int temp = arr[y];
             arr[y] = arr[x];
             arr[x] = temp;
            }
       }
        System.out.print(arr[x]+",");

    }



正在回答

1 回答

第一层for循环第一次循环

 此时x=6,y=5,进入第二层for循环,循环至y=0;

进入第一次循环的第二次循环,此时x=5,y=4

依次类推

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

qq_慕少2383888 提问者

它是正序的时候,我还能理解,但是把它反过来我就懵逼了,照你这么说,y=5,x=6,那么 y>x 时把y拿出来给x,再把x给y,那不是从小到大排序吗? 可是输出来却是倒序,难道
2019-10-29 回复 有任何疑惑可以回复我~
#2

qq_慕少2383888 提问者

哎呀,不好意思,忽略了一点,实在是尴尬,会提出这种问题,刚洗澡时才想起来
2019-10-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有没有大神帮忙解读一下,这个for循环怎么走的,先走哪再走哪,尽量详细点,谢

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