算法学习二、Java冒泡排序算法



 很常用的算法,面试中经常被问到,上代码zYZ思考者日记网-束洋洋个人博客

package com.shyy.algorithms;  
  
/** 
 * 冒泡排序算法 
 * 原理:将相邻的2个数做对比 
 * 缺点:速度慢 
 * @author shuYangYang 
 * @email:shuyangyang@aliyun.com 
 * @website:www.shuyangyang.com.cn 
 */  
public class BubbleSort {  
  
    public static void main(String[] args) {  
        double score[] = { 0.78, 0.17, 0.39, 0.26, 0.72, 0.94, 0.21, 0.12, 0.23, 0.68, 0.13 };  
        bubbleSort(score);  
        System.out.print("最终排序结果:");  
        for (int i = 0; i < score.length; i++) {  
            System.out.print(score[i] + "t");  
        }  
    }  
  
    /** 
     * 冒泡排序算法,对score进行排序,结果仍然放在score中 
     *  
     * @param score 
     */  
    static void bubbleSort(double score[]) {  
        int length = score.length;  
        //控制比较的轮数,可以亲自排列下数,你会发现5个数需要4轮排列完成,11个数则需要10轮排列完成,所以这里需要-1  
        for (int i = 0; i < length - 1; i++) {  
            //控制轮数中次数的比较,次数会随着轮数的比较会越来越少,5个数第一轮需要比较5-1次,第2轮需要比较5-2次,i代表轮数,所以需要-i-1  
            for (int j = 0; j < length - i - 1; j++) {  
                //比较第一个数和后一个数,将大的数与小的数交换  
                if (score[j] > score[j + 1]) {  
                    double temp = score[j];  
                    score[j] = score[j + 1];  
                    score[j + 1] = temp;  
                }  
            }  
        }  
    }  
}  

 zYZ思考者日记网-束洋洋个人博客

 zYZ思考者日记网-束洋洋个人博客

 

(转载本站文章请注明作者和出处 思考者日记网|束洋洋个人博客 ,请勿用于任何商业用途)

『访问 思考者日记网404页面 寻找遗失儿童』

告知
  •     本站90%以上文章均属原创,部分转载已加上原作者出处。 如需转载本站文章请您务必保留本站出处!
  •     打广告评论者请自重,请为广大网友提供一个健康干净的网络空间。
  •  感谢主机屋提供网站空间;
  •  感谢万网阿里云提供域名解析;
  •  感谢EmpireCMS提供CMS系统;
  •  感谢bootstrap展示本站前端页面;
  •  感谢Glyphicons Halflings提供字体;
  •  感谢大家一直以来对本站的喜爱,感谢大家!
近期文章 建议与反馈