Java中常见的排序算法有哪些?——冒泡排序

Java中常见的排序算法有哪些?——冒泡排序排序码:通常数据对象有多个属性域,即多个数据成员组成,其中有一个属性域可用来区分对象,作为排序依据。

欢迎大家来到IT世界,在知识的湖畔探索吧!

排序相关的的基本概念

排序:

将一组杂乱无章的数据按一定的规律顺次排列起来。

数据表( data list): 它是待排序数据对象的有限集合。

排序码(key):通常数据对象有多个属性域,即多个数据成员组成,其中有一个属性域可用来区分对象,作为排序依据。该域即为排序码。每个数据表用哪个属性域作为排序码,要视具体的应用需要而定。

我们常见的一些排序算法,如图所示:

Java中常见的排序算法有哪些?——冒泡排序

交换排序

交换排序的基本思想是:两两比较待排序记录(数据表)的关键字(排序码),发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。主要包括冒泡排序和快速排序。

现在,我们先一起来看看交换排序 之 冒泡排序

冒泡排序的原理

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

一听到冒泡这个词,大家可能会想到?

Java中常见的排序算法有哪些?——冒泡排序

对,没错,我们可以把冒泡排序看成生活中冒气泡的方式,从下往上冒,依次把最大或最小的值冒到最顶层。

例如:有一个整型数组int[] nums = {84,83,88,87,61};

其排序后的结果,如图:

Java中常见的排序算法有哪些?——冒泡排序

接下来,我们更进一步来分析它的比较过程:

Java中常见的排序算法有哪些?——冒泡排序
Java中常见的排序算法有哪些?——冒泡排序
Java中常见的排序算法有哪些?——冒泡排序
Java中常见的排序算法有哪些?——冒泡排序
Java中常见的排序算法有哪些?——冒泡排序

冒泡排序的代码实现

i : 控制第几轮,如果5个数,最多就比较4轮,所以i的索引从0开始的话,要循环4次,就应该是长度-1

j: 控制每一轮中的元素下标位置,每结束一轮,就会出来一个当前这轮中的最大值,则减i,之所以再减1,是因为最后剩一个元素的时候没有相邻的数与其分组,所以不用再比较了

Java中常见的排序算法有哪些?——冒泡排序

以上则是交换排序之冒泡排序的算法原理和具体实现步骤,敬请期待java中的其他排序算法

如果大家有问题想了解更多的技术干货可以加朗妹儿微信哟~

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/35340.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信