猿问

这段代码中的两个for我不能理解,求大神带一带

private void sort(int arr[]) {
        for(int i=1;i<arr.length;i++){
            for(int j=0;j<arr.length-i;j++){
                if(arr[j]>arr[j+1]){
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                   

下雨天和人字拖更配哦
浏览 1041回答 1
1回答

qq_匡璐_0

单单看代码是很难把代码的逻辑和意义看明白的,你想读懂一段代码首先要知道这段代码的意义是什么,也就是说这段代码是干什么的。抛开循环不看,看判断,这是数组排序的代码,你先搞清楚一个无需的数组变成有序的需要什么逻辑来支持,那么着2层的循环就不是问题了。如果真的要回答2层for是干嘛的,我只能说它就是用来排序的    。。。    再具体点就是,电脑需要很多次的判断才能给数组排序,那么很多次是多少次呢?就是2层循环执行的次数,这个次数跟数组的长度有关,如果数组的长度是2,判断一次就行,数组的长度是x,那么需要判断y次 就这样列出了这2个循环
随时随地看视频慕课网APP

相关分类

Java
我要回答