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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本来应该是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];
}

3 个回复

倒序浏览
楼主有好好看视频了么?老毕没教过这么做的吧?
回复 使用道具 举报
wzg76777 来自手机 中级黑马 2015-8-24 08:33:31
藤椅
交换的参数选错了,是j和j+1,不是i和j
回复 使用道具 举报
思路不对导致的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马