黑马程序员技术交流社区
标题:
冒泡排序中数据交换为什么要带 数组,不带为什么不行
[打印本页]
作者:
liuch111
时间:
2015-7-11 11:26
标题:
冒泡排序中数据交换为什么要带 数组,不带为什么不行
//方法一
public static void swap(int[] arr,int x,int y)
{
int temp;
temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
//方法2
public static void swap1(int x,int y)
{
// int temp;
int temp=x;
x=y;
y=temp;
System.out.print("x="+x+";"+"y="+y);
}
方法2不行, 数组数据顺序没变,为什么
作者:
拾起落叶
时间:
2015-7-11 14:18
方法2里面,如果传递两个参数swap1(5,6),运行到x=y时,6能赋值给5吗?
作者:
放养的饼干
时间:
2015-7-11 16:53
方法一是将数组中储存的地址值调换了。你方法二是将数组中的数据先赋值给X和Y,他们只是自立门户的两个变量,这时X和Y已经跟数组没关系了,你怎么换都不影响数组的值
作者:
zhwfa1991
时间:
2015-7-11 17:47
第一个方法换的是数组元素的地址,第二个方法只是把数值传过来后改变了这两个数的前后顺序而已,和数组已经没有什么关系了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2