| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 497 人关注过本帖
标题:一个冒泡排序的问题
只看楼主 加入收藏
让我们飞
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:40
专家分:119
注 册:2011-1-9
结帖率:100%
收藏
 问题点数:0 回复次数:3 
一个冒泡排序的问题
程序代码:
    int[] a={1,3,9,5,7,};
        int t;
        int f=0;//用F来判断循环是否继续
       
        for(int x=0;x<a.length;x++){
            System.out.println();
            System.out.print((x+1)+":"+" "+"f: "+f+" |");
            for(int i=0;i<a.length-1;i++){
               
                if(a[i]>a[i+1]){
                    t=a[i];
                    a[i]=a[i+1];
                    a[i+1]=t;
                   
                }
               
               
            }
            for(int y:a){
                System.out.print(y+" ");
            }
           
        }
结果是:
1: f: 0 |1 3 5 7 9
2: f: 0 |1 3 5 7 9
3: f: 0 |1 3 5 7 9
4: f: 0 |1 3 5 7 9
5: f: 0 |1 3 5 7 9
---------------------
第一次循环就能看出 已经排序完了。但是继续循环了4次
那么 怎么用F来中断循环呢?
2011-08-07 13:51
让我们飞
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:40
专家分:119
注 册:2011-1-9
收藏
得分:0 
程序代码:
public static void main(String[] args) {
        int[] a={1,3,10,9,5,7};
        int t;
        int f;
       
        for(int x=0;x<a.length;x++){
            f=0;           
            System.out.println();
           
           
            for(int i=0;i<a.length-1;i++){
               
                if(a[i]>a[i+1]){
                    t=a[i];
                    a[i]=a[i+1];
                    a[i+1]=t;
                f=1;   
                }   
            }
            System.out.print((x+1)+":"+" "+"f: "+f+" |");
            if(f==0)break;
            for(int y:a){               
                System.out.print(y+" ");
            }           
        }   
        //输出
        System.out.println("");
        System.out.println("排序结果:");
        for(int j=0;j<a.length;j++){           
            System.out.print(a[j]+" ");
        }
    }
}
解决了
2011-08-08 09:04
bcyu
Rank: 2
等 级:论坛游民
帖 子:39
专家分:56
注 册:2011-5-9
收藏
得分:0 
楼上的应该可以了..........
2011-08-12 01:03
shimin198909
Rank: 2
等 级:论坛游民
帖 子:10
专家分:90
注 册:2011-8-12
收藏
得分:0 
你的f没有进入循环啊
2011-08-12 15:55
快速回复:一个冒泡排序的问题
数据加载中...
 
   



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

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