算法 -- Java实现冒泡排序(图解 + 代码实现) - Go语言中文社区

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


排序思想:

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

排序图解:

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

排序规则:

两两相比,大的往后放

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

第一次比较,有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;
            }
        }
    }
}

DEMO下载

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/feng2qing/article/details/53860685
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-08 14:30:12
  • 阅读 ( 1070 )
  • 分类:算法

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢