栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

常见算法——选择排序与冒泡排序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

常见算法——选择排序与冒泡排序

  • 选择排序

    思想:

    对n个数进行n-1趟选择,每趟选择出一个最值(最大或最小由降序或升序决定)放前面,那么是如何选择出最值的呢?是通过不断的两两比较记录下较大(或较小)数的位置,最后一次比较结束后便可找出当前趟中最值的位置,最后将该最值与该趟开头处的数交换,这样就完成了一趟选择,然后排去这个在上一趟选择中选出的最值(即上一趟开头第一个数),再进行下一趟选择,那么如何排去上一趟选择出的最值开始下一趟选择呢?很简单,直接使下一趟选择的开头元素从第2个开始即可。经过这样的n-1次选择后即可完成排序。

    步骤:

    使用两层for循环

    外循环括号(i = 0;i

    内循环括号(j = i+1;j

    (总共要选择的趟数 - 当前趟次)次,循环体中让该趟的首个元素与其后的每一个元素进行比较并记下被选择元素位置。

  • 冒泡排序

    思想:

    对n个数进行n-1趟排序,每趟排序中不断进行两两比较并换位,例如按升序排序,两两比较时,若前者大于后者,则将两者换位,否则,原封不动即可。每趟排序都会使一个最值到数列末尾的位置,这是通过不断的两两比较交换实现的,就好像水中的气泡不断和与它接触的水分子交换位置,使自己上升,使水分子相对下降,最后冒出水面,所以这种排序方法也叫冒泡排序。

    步骤:

    同样也是使用两层循环,但循环的条件有些许不同

    外循环括号(i = 0;i

    内循环(j = 0;j

  • 区别

    选择排序是不断的选出元素放在开头处(注意这个开头是每一趟的开头处),冒泡排序是不断的从末尾处冒出元素
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号