黑马程序员技术交流社区

标题: 来个冒泡 [打印本页]

作者: 不忘初心、    时间: 2015-8-31 13:35
标题: 来个冒泡
数组操作(理解原理,并要求会写该算法的代码)
        1):冒泡排序原理:相邻元素两两比较,大的往后走,第一次完毕后,最大值就在最大索引处。
        2):冒泡排序代码
                public static void bubbleSort(int[] arr) {
                        // 外循环控制次数
                        for (int x = 0; x < arr.length - 1; x++) {
                                // 内循环控制每一次的比较过程
                                /*
                                 * 第一次,所有元素都参与比较,也就是0个元素不参与。
                                 *  第二次,有1个元素不用参与。
                                 *   第三次,有2个元素不用参与。 ...
                                 */
                                // -1是为了防止索引越界
                                // -x是为了减少比较的次数
                                for (int y = 0; y < arr.length - 1 - x; y++) {
                                        if (arr[y] > arr[y + 1]) {
                                                // 数据交换
                                                int temp = arr[y];
                                                arr[y] = arr[y + 1];
                                                arr[y + 1] = temp;
                                        }
                                }
                        }
                }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2