xu506075418 2009-11-09 15:41 采纳率: 0%
浏览 307
已采纳

不知道为什么这个排序代码在Eclipse中输出总是有问题,一会儿那样,一会儿又这样

有时候这样,
排序后
4 3 1 7 9 8 6 5 9 8 7 6 5 4 3 1

有时候这样,
4 3 1 7 9 8 6 5 9 8 7 6 5 4 3 1 排序后

后来我在cmd下编译输出时没有问题的啊,
C:>java Select
4 3 1 7 9 8 6 5 排序后
9 8 7 6 5 4 3 1

我感觉真是见到鬼了,请指点

public class Select {
public static void main(String[] args) {
int[] arr = new int[]{4,3,1,7,9,8,6,5};
print(arr);
System.out.println("排序后");
bubblesort(arr);
}

private static void bubblesort(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]) {
                swap(arr, j, j+1);
            }
        }
    }
    print(arr);
}

private static void print(int[] arr) {
    for(int n : arr) {
        System.err.print(n + " ");
    }

}

private static void swap(int[] arr, int min, int outer) {
    int temp = arr[min];
    arr[min] = arr[outer];
    arr[outer] = temp;

}

}

  • 写回答

1条回答 默认 最新

  • ytsunwei403 2009-11-09 15:57
    关注

    结果肯定是这样的,因为 你首先print(arr); 然后bubblesort。如果 你想4 3 1 7 9 8 6 5 排序后
    9 8 7 6 5 4 3 1

    应该System.err.print(n + " "); 改成System.out.println(n + " ");

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!