JAVA 数组排序小程序里的这段代码麻烦解释一下?

查看:92
本文介绍了JAVA 数组排序小程序里的这段代码麻烦解释一下?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

public class Test {
    public static void main(String []args){
        //请在此处添加代码
         temp=list[i];        
         list[i]=list[j];
         list[j]=temp;
    }
        int []list = {1,3,2,5};
        Test test = new Test();
        test.sort(list);
    }
public void sort(int[] list) {//从小到大的排序

    int temp = 0;
    for(int i = 0;i<list.length;i++){
        for(int j = i;j<list.length;j++){
            if(list[i] > list[j]){
                //完成排序算法               
                list[i]=list[j];
            
        }
    }
    for(int i = 0;i<list.length;i++){
        System.out.println(list[i]);
    }
}
}

请问开头这三行代码代表什么意思?是要干嘛用?

temp=list[i]; 
list[i]=list[j];
list[j]=temp;

这个问题已被关闭,原因:问题质量差 - 问题太水、伸手党

解决方案

这三行代码的意思就是把list[i]和 list[j]的值进行互换。
temp就是一个中转站。
举个例子。

比如有两个笼子,A,B。
A里面有一只老虎,B里面一只狮子,每个笼子内只能存在一个动物。现在要把A里面放狮子,B里面放老虎,怎么办?
此时我们就需要第三个笼子C帮忙了。

  1. 我们把老虎先放到C笼子里,此时A笼子就空了。

  2. 此时狮子就可以放到A笼子里了,B笼子就是空了。

  3. 最后把c笼子的老虎放到B笼子里了。

temp就是笼子c,A,B就是笼子A,B。
上面问为什么要互换,因为是排序啊。

list里的元素是1,3,2,5
当2和3进行比较的时候,肯定要互换位置。

这篇关于JAVA 数组排序小程序里的这段代码麻烦解释一下?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆