Java 方法的参数是简单类型的时候,是按值传递的 (pass by value),所以Java里面不能实现和C中一样的swap方法来交换两个数的值。非要用的话只能这样写:
//交换数组data中的第a和第b个元素
public static void swap(int[] data, int a, int b) {
int t = data[a];
data[a] = data[b];
data[b] = t;
}
估计不是你想要的效果。
关于Java中参数和引用的问题建议看看下面的博文:
http://blog.csdn.net/zw_2011/article/details/6431448
package com.zaifu;
public class T
{
// 交换数组data中的第a和第b个元素
public static void swap(int a, int b)
{
System.out.println("********交换前********");
System.out.println("参数一:"+a+",参数二:"+b);
int t = a;
a = b;
b = t;
System.out.println("********交换后********");
System.out.println("参数一:"+a+",参数二:"+b);
}
public static void main(String[] args)
{
int x=10;
int y=20;
swap(x,y);
}
}
冒泡就是交换的变形。
int temp
temp=a[i];
a[i]=a[j];
a[j]=temp;
交换了。
http://blog.csdn.net/dadoneo/article/details/6577976
代码我就不贴了,自己手打一下吧