Java实现冒泡排序(图解 + 代码实现)

转载:http://blog.csdn.net/feng2qing/article/details/53860685

排序思想:

相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处(每比较完一趟,就选出一个最大值放到了后面),同理继续可以得到一个排好序的数组

排序图解:

这里写图片描述 
这里写图片描述

排序规则:

两两相比,大的往后放

每一次比较晚后,下一次比较时就会减少一个元素比较

第一次比较,有0个元素不参与比较

第二次比较,有2个元素不参与比较

第三次比较,有2个元素不参与比较

总共需要比较数组长度 - 1 次

代码实现:

public static void selectSort (int array[]) {
    for (int i = 0;i < array.length - 1; i ++) {
        for (int j = i + 1;j < array.length;j ++) {
            if (array[j] < array[i]) {
                int temp = array[i];
                array[i] = array[j];
                array[j] = temp;
            }
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

猜你喜欢

转载自blog.csdn.net/yzg_666/article/details/79519105