c语言冒泡排序_冒泡排序和选择排序的区别

初学c语言不久,发现好多同学对选择排序和冒泡排序傻傻分不清楚,在这里斗胆对它们的区别作出解释,也是对自己的学习成果作出检验,欢迎个位作出批评指正。

冒泡排序

用简单的话来讲就是,从左往右,两两相互比较大小,左边的大就交换位置,循环往复,把较大的放后面。

下面是冒泡排序图解

4d189b60fd5d67934074ab375c043b99.png
冒泡排序图解

下面是冒泡排序的代码实现

a3a92d9b894124b275e78ee298fdbf89.png
冒泡排序代码实现

选择排序

也用简单的话来说,就是从第一个数开始,与后面所有的数相比较,找出最小的数,放在第一个位置,以此类推,每一轮确定一个相对于这一轮最小的数。

下面是选择排序图解

75bc497d432bc692b514f1554ecc1cde.png
选择排序图解

下面是选择排序的代码实现

82b11b5cc689592cf00d46bfc77e71a0.png

最后,总结一下冒泡和选择的区别:

冒泡排序是左右两个数相比较,而选择排序是用后面的数和每一轮的第一个数相比较;

冒泡排序每轮交换的次数比较多,而选择排序每轮只交换一次;

冒泡排序是通过数去找位置,选择排序是给定位置去找数;

当一个数组遇到相同的数时,冒泡排序相对而言是稳定的,而选择排序便不稳定;

在时间效率上,选择排序优于冒泡排序。

以上就是我对冒泡排序和选择排序区别的理解,如果有错误,欢迎个位大佬指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值