黑马程序员技术交流社区
标题:
麻烦各位学哥学姐帮忙给看看,我转不过这个弯
[打印本页]
作者:
徐传任
时间:
2012-9-12 11:05
标题:
麻烦各位学哥学姐帮忙给看看,我转不过这个弯
冒泡排序:
public static void sort(int[] arr)
{
for(int x=0; x<arr.length-1; x++)
{
for(int y=0; y<arr.length-x-1; y++)
{
if(arr[y]>arr[y+1])
{
//交换位置的这部分我想定义一个函数swap()
swap(arr[y],arr[y+1]);
}
}
}
}
public static void swap(int a, int b)
{
int temp = a;
a = b;
b = a;
}
我总是感觉是int型的数组,然后可以这样交换位置,这样是错误的,但是我还是不理解,总是转不过这个弯来,麻烦学哥学姐们给我讲一下
作者:
张 涛
时间:
2012-9-12 11:13
从内存角度分析去讲swap方法:
在swap方法中,两个参数a和b,作为传入参数,是在栈中的。然后你把a和b的值互换,方法结束,然后这个方法的参数都要出栈,a和b都出栈。
整个过程根本没涉及到数组,所以不对。
作者:
徐传任
时间:
2012-9-12 11:24
张 涛 发表于 2012-9-12 11:13
从内存角度分析去讲swap方法:
在swap方法中,两个参数a和b,作为传入参数,是在栈中的。然后你把a和b的值 ...
谢谢,明白了,哥们结合内存讲的很透彻,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2