分享

算法系列: 10大常见排序算法(1) 冒泡

 长沙7喜 2018-12-18

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法


排序(Sorting) 是计算机程序设计中的一种重要操作,它是将一个序列的数据元素(或记录),按一定顺序重新排列

它重复地走访要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们位置交换过来.

这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同湖底的气泡最终会上浮到顶端一样,故名“冒泡排序”。


算法演示

我们从头到尾完成了第一个过程, 最大的数字被放到了最后的位置。第一个回合结束, 最大的数字无论最初藏在哪里,都会被交换到最后。

现在我们开始第二个回合。。。


算法实现

我们把数字存放在一个数组变量arr中。

int []arr

这是比较和交换的逻辑:


那么问题来了:

所以我们还需要添加一个外循环:


改进

这是改进后的算法:

答案是 arr.length-i-1.


流程图

想一想, 空白处正确的答案是什么?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多