基础算法系列(五)排序算法之冒泡排序

来源:互联网 发布:2017淘宝处罚考试答案 编辑:程序博客网 时间:2024/04/30 14:13

冒泡排序是比较常用的排序算法,性能也是不错的,实现起来也比较简单。它的基础思想是比较数组中的两个元素,如果第一个元素小于第二个元素,就不交换,反之就交换顺序;从第一个元素开始,拿第一个元素与其他的元素一一进行比较,然后是第二个元素。

实现步骤:(升序)

(1)、取数组第一个元素,与其他元素一一进行比较,如果它大,就交换位置,截止到最后一个元素。

(2)、取数组第一个元素,与其他元素一一进行比较,如果它大,就交换位置,截止到倒数第二个元素,因为通过第一步最后一个元素已经是最大的了。

以此类推。。。

/** * 冒泡_升序 */public static int sort_maopao_asc(int[] array) {int count = 0;for (int i = 0; i < array.length - 1; i++)for (int j = 0; j < array.length - 1 - i; j++) {if (array[j] > array[j + 1]) {count++;int temp = array[j + 1];array[j + 1] = array[j];array[j] = temp;}}return count;}

/** * 冒泡_降序 */public static int sort_maopao_dasc(int[] array) {int count = 0;for (int i = 0; i < array.length - 1; i++)for (int j = 0; j < array.length - 1 - i; j++) {if (array[j] < array[j + 1]) {count++;int temp = array[j + 1];array[j + 1] = array[j];array[j] = temp;}}return count;}
返回的是交换的次数

0 0