JAVA 数组排序小程序里的这段代码麻烦解释一下?
本文介绍了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帮忙了。
我们把老虎先放到C笼子里,此时A笼子就空了。
此时狮子就可以放到A笼子里了,B笼子就是空了。
最后把c笼子的老虎放到B笼子里了。
temp就是笼子c,A,B就是笼子A,B。
上面问为什么要互换,因为是排序啊。
list里的元素是1,3,2,5
当2和3进行比较的时候,肯定要互换位置。
这篇关于JAVA 数组排序小程序里的这段代码麻烦解释一下?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文