java实现值交换(swap)
不要传值。因为形参对实参进行值拷贝,函数调用完,释放空间,交换结果传不出来。参数应该为引用类型。
1.swap函数定义为public类型
public class Test_Swap { //public函数 public void swap(int[] brr,int index1,int index2){ int tmp=brr[index1]; brr[index1]=brr[index2]; brr[index2]=tmp; } public static void main(String[] args) { int[] arr= { 10,20}; //依赖于对象,需要通过 对象. 来调用 Test_Swap test=new Test_Swap() ; test.swap(arr,0,1); System.out.println(arr[0]+" "+arr[1]); } }
2.swap函数定义为public static类型
public class Test_Swap { //定义为静态方法 public static void swap(int[] brr,int index1,int index2){ int tmp=brr[index1]; brr[index1]=brr[index2]; brr[index2]=tmp; } public static void main(String[] args) { int[] arr= { 10,20}; //两种调用方法 Test_Swap.swap(arr,0,1); //swap(arr,0,1); System.out.println(arr[0]+" "+arr[1]); } }
下一篇:
P问题、NP问题和NPC问题