代码改变世界

冒泡排序

2011-10-29 11:24  刘XX  阅读(205)  评论(0)    收藏  举报

冒泡排序可以说是面试中遇到最多的了,我也没有找到什么标准的解释,所以就写了一个总结:

这是我认为循环次数最少的方法,欢迎高手指出错误!!!!!!

 

 /**
     * @param 刘XX
     * 冒泡排序
     * 写的不是很好,如果有错,请指出,谢谢
     */
    public static void main(String[] args) throws IOException {
        //定义一个数组
        int[] array = {2,334,12,64,72,22,07,38};
        
        /**
         * 冒泡排序
         * 外循环 1、循环次数: array.length-1
         *        2、循环原理:每一次将数组里面的最小值放到最后面,最后一次只有一个数,所以不许要再循环
         * 内循环  1、循环次数:1+2+...+array.length-1
         *        2、循环原理:从第一个数开始,每次都和它后面的数比较,如果小于后面的数,就调换位置
         */
        for (int i = 0; i < array.length-1; i++) {
            for (int j = 0; j < array.length - i - 1; j++) {
                int temp;
                if(array[j]<array[j+1]){
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        //输出
        for(int i : array){
            //System.out.println(i);
        }
        
    }