冒泡排序中,数值交换位置的时候,我独立写了一个swap()方法,在调用该方法的时候,
不能将数进行交换,是怎么回事?范慧慧类型不对,还是传参类型不对,求大神指导
public class BubbleSortDemo {
public static void bubbleSort(int[] arr)
{
//第一个for循环是控制比较的轮数
for(int i=0;i<arr.length-1;i++)
{
//第二个for循环是控制本轮比较的次数
for(int j=0;j<arr.length-i-1;j++)
{
if(arr[j]>arr[j+1])
{
swap(arr[j],arr[j+1]);
/*int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;*/
}
}
System.out.print("第"+(i+1)+"次数组冒泡排序 ");
for(int x = 0;x<arr.length;x++)
{
System.out.print(arr[x]+" ");
}
System.out.println();
}
}
public static void swap(int a,int b)
{
int temp = a;
a = b;
b = temp;
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
int[] arr = {123,122,89,234,20,9,30,12};
bubbleSort(arr);
System.out.print("冒泡排序后的数组为:");
for(int x=0;x<arr.length;x++)
{
System.out.print(arr[x]+" ");
}
}
}
|
|