| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1143 人关注过本帖
标题:java冒泡排序法
只看楼主 加入收藏
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:5 
java冒泡排序法
/*冒泡法*/
class maopaodamo
{
    public static void main(String[] args)
    {
        int[] arr= new int[]{3,2,5,1,45,35,64,3};
        int i,x=0,j;
        for(j=0;j<7;j++)
        {
            for(i=0;i<7-j;i++)
            {
                if(arr[i]>arr[i+1])
                {
                    x=arr[i+1];
                    arr[i+1]=x;
                    x=arr[i];
                }
            }
        }
        for(j=0;j<7;j++)
        {
        System.out.print(arr[j]+";");
        }
        
    }
}
怎么排序不正确呢 问题 在哪啊 求指教  输不出正确的结果

[ 本帖最后由 wsws23 于 2012-7-26 22:43 编辑 ]
搜索更多相关主题的帖子: java public 
2012-07-26 22:37
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
收藏
得分:0 
这个论坛 这么冷啊
2012-07-26 22:52
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:7 
 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。

public class maopao{
    public static void main(String[] args){
        int[] arr= new int[]{3,2,5,1,45,35,64,3};
        int i,x=0,j;
        for(j=0;j<7;j++){
            for(i=j;i<7;i++){
                if(arr[j]>arr[i]){
                    x=arr[j];
                    arr[j]=arr[i];
                    arr[i]=x;
                }
            }
        }
        
        for(j=0;j<7;j++){
        System.out.print(arr[j]+";");
        }
    }
}
先把冒泡的过程搞清楚吧~
2012-07-27 11:18
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:7 
楼主的循环并没有问题,只是if语句里面的交换写错了而已,无需看3楼的,楼主if里面只需要这样写就没有问题了
if(arr[i]>arr[i+1])
{
    x = arr[i+1];
    arr[i + 1] = arr[i];
    arr[i] = x;
}

[ 本帖最后由 yhlvht 于 2012-7-27 11:44 编辑 ]
2012-07-27 11:42
残碎片
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2012-3-11
收藏
得分:7 
对,是if语句写错了!!!
2012-07-27 17:27
love__wdh
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-2-1
收藏
得分:0 
3楼正解
2012-08-08 13:13
快速回复:java冒泡排序法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011993 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved