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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© a2068604 中级黑马   /  2015-3-27 23:16  /  1071 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void maopaopaiXu(int[] arr)
                {
                        for(int x=0; x<arr.length-1; x++)
                        {
                                for(int y=0; y<arr.length-x-1; y++)//-x:让每次比较的元素减少。 -1:避免角标越界。
                                {
                                        if(arr[y]>arr[y+1]);
                                        {
       
                                                int temp = arr[y];
                                                arr[y] = arr[y+1];
                                                arr[y+1] = temp;
                                        }
                                }
                        }
                }
        public static void main(String[] args)
        {
                                int[] arr= {5,1,6,4,2,8,9};
                                //排序前:
                                dayin(arr);
                                maopaopaiXu(arr);
                                //排序后:
                                dayin(arr);
        }
}
为什么打印出来的排序只是循序反过来而没有排序。

14 个回复

倒序浏览
我哪里遗漏什么或者打错了那里。
{5,1,6,4,2,8,9};
打印后↓
{9,8,2,4,6,1,5};
而不是应该从小到大排序吗
回复 使用道具 举报
    if(arr[y]>arr[y+1]);   哥们儿  你加个分号  嘛意思啊
回复 使用道具 举报
      if(arr[y]>arr[y+1]);多了个分号
回复 使用道具 举报
表示看不懂   
回复 使用道具 举报
把       int[] arr= {5,1,6,4,2,8,9};分号去掉也不得
回复 使用道具 举报
人家说的是你的
  1.   if(arr[y]>arr[y+1]); //这里多了一个分号...
  2.                                         {
  3.       
  4.                                                 int temp = arr[y];
  5.                                                 arr[y] = arr[y+1];
  6.                                                 arr[y+1] = temp;
  7.                                         }
复制代码
回复 使用道具 举报
hhh233 中级黑马 2015-3-28 00:10:27
8#
多了个分号  然后你是按从大到小的顺序排的吧
回复 使用道具 举报
加了分号程序到那就结束了。后面的就没交换了,所以没排序
回复 使用道具 举报
解决了。确实是分号问题
回复 使用道具 举报
我都没注意到有分号
回复 使用道具 举报
恩 我打印出字符来了,看看是怎么回事
回复 使用道具 举报
DxxD 中级黑马 2015-3-28 10:14:51
13#
忧伤的结果。。。。
回复 使用道具 举报
倒入import java.util.Arrays;
打印出来的就是正常的了
看来不能使用System.out.println(arr)
System.out.println(Arrays.toString(arr));
回复 使用道具 举报
分号的问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马