黑马程序员技术交流社区

标题: 数组 冒泡排序法输出错误,求修正 [打印本页]

作者: taojunqiu225    时间: 2015-8-24 00:09
标题: 数组 冒泡排序法输出错误,求修正
本来应该是0,1,2,3,4,5,6,7,8,9
结果输出了一串排错的顺序9,8,4,2,0,0,7,5,6,1
public class ShuZuMPpaixu
{
public static void main(String[] args)
        {
        int arr[]={0,4,8,7,9,5,2,3,6,1};
        arrprint(arr);
        arrMPpaixu(arr);
        arrprint(arr);
                }
public static void arrprint(int[] arr)
{
        for(int i=0;i<arr.length;i++)
        {
                if(i<arr.length-1)//不懂为何不是arr[i]!=arr.length?
                System.out.print(arr[i]+",");
                else
                        System.out.print(arr[i]);
        }
        System.out.println();
}

public static void arrMPpaixu(int[] arr)
        {
                for(int i=0;i<arr.length-1;i++)
                {
                        for(int j=0;j<arr.length-i-1;j++)
                        { if(arr[j]<arr[j+1])
                        {
                                XHTjiaohuan(arr,i,j);
                        }               
                        }
                }
        }

public static void XHTjiaohuan(int[] arr,int a,int b)  // 独立出循环体内交换数据功能
{
arr[a]=arr[a]^arr[b];
        arr[b]=arr[a]^arr[b];
        arr[a]=arr[a]^arr[b];
}

作者: T-l-H、小生    时间: 2015-8-24 06:28
楼主有好好看视频了么?老毕没教过这么做的吧?
作者: wzg76777    时间: 2015-8-24 08:33
交换的参数选错了,是j和j+1,不是i和j
作者: kevin986745zk    时间: 2015-8-24 12:07
思路不对导致的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2