A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

冒泡排序中,数值交换位置的时候,我独立写了一个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]+" ");
                }
               
        }

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马