冒泡排序 Bubble Sort

冒泡排序 Bubble Sort

先来一个最简单的,冒泡排序。顾名思义,就像水底往上冒的气泡,离水面越近,水泡越来越大。

  1. 从第一位开始,将其和它的下一个进行比对,如果前一个大,则交换位置;然后到第二位,就变为第二位与第三位比对,以此类推,两两比对完成后,就能保证最后一位为整个序列的最大。
  2. 然后再从第一位进行相邻的两两比对,这一次比对到倒数第二位即可,因为最后一位已经是最大,无需再比,则完成后,倒数第二位为整个序列的次大。
  3. 每次两两比对交换的终点位前移一次,则此算法终止与最终位为第二位时。

冒泡排序

int[] array = {3, 5, 7, 4, 2, 1, 6};
for (int end = array.length - 1; end > 0; end--) {  // 两两比对的终点控制
    for (int index = 0; index < end; index++) {  // 当前位控制
        if (array[index] > array[index + 1]) {  // 当前位与其下一位进行比对
            int temp = array[index];
            array[index] = array[index + 1];
            array[index + 1] = temp;
        }
    }
}

发表评论