我写了组java冒泡排序,如果里面有重复的数就不对了,帮我看下

输入985463213结果输出的是213354689... 输入9 8 5 4 6 3 2 1 3
结果输出的是2 1 3 3 5 4 6 8 9
展开
 我来答
百度网友afe836d
2013-06-26 · TA获得超过635个赞
知道小有建树答主
回答量:367
采纳率:50%
帮助的人:305万
展开全部
public static void  main(String[] args){
        int[] datas = {9, 8 ,5 ,4, 6, 3, 2, 1, 3};
        //最多做n-1趟排序
        for(int i = 0; i < datas.length - 1;i++ ){
            //对当前无序区间datas[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)
            for (int j = 0; j < datas.length -i -1;j++){
                //把小的值交换到后面,如果要改变排序方向,改下这个判断即可
                if(datas[j] < datas[j+1]){
                  int k = datas[j];
                  datas[j] = datas[j+1];
                  datas[j+1] = k;
                }
            }
        }
        for (int i : datas){
            System.out.println(i);
        }
    }
小圣12345
2013-06-26 · TA获得超过820个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:158万
展开全部
我吐槽一下这代码吧
1 贴的图 ,你好歹贴代码上来啊
2 这排序 从哪学的?高手
3 你序都没排完 打印干嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式