嵌入式数据结构与算法之“冒泡排序”讲解

createh52个月前 (05-03)技术教程18


相信一部分同学听到数据结构和算法第一反应就是太难了!其实只要明白它的思想,理解了它的思路,一切都是毛毛雨~


那今天华妹就以同学们感兴趣的冒泡排序为例给大家详细说说。


首先,什么是冒泡排序呢?


它其实就是一种简单的排序算法,也是一种稳定排序算法,至于为什么叫这个名字?因为越小的元素会通过交换慢慢“浮”到数列的顶端(升序或降序排列)。



就像我们在喝碳酸饮料时,把它倒入杯子里面二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。说到这大家就明白了,其实冒泡排序就是从大到小排序或者从小到大排序的一种方法。


它实现原理就是相邻的两个数两两比较,如果符合整体排序顺序就继续向后判断,否则就将两个数交换。当待排序序列中有相同的元素时,它们的相对位置在排序前后不会发生改变,所以称它为稳定排序算法。


下面我们以从小到大排序为例,来看一下它究竟是怎么实现的。


比如现在有5个数:9 8 7 1 3

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。

点击这里找小助理0元领取:加微信领取资料


第一轮:


第二轮:


第三轮:


第四轮:


通过以上比较过程可以得出,如果比较n个数,只需要比较n-1轮即可;而且每轮比较的次数会随着比较轮数的增加而减小,而且轮数和每轮比较次数的和是固定的值,都是比较的个数n。


c代码实现:



那根据以上例子推出当有n个数进行排序时,可以套用以下代码:


只需要修改N标识的数值,输入对应个数的数就可以从小到大输出排序后的值。



转载自:华清远见

文章来源于嵌入式数据结构与算法之“冒泡排序”讲解

原文链接:
https://mp.weixin.qq.com/s/jt66Fe1EeZMCs91BzSQFIA

相关文章

C语言排序方法——冒泡排序详解!你学会了吗?

冒泡排序法的基本思路为:每次将相邻的两个数比较,将小的调在前面。举个例子,如果有6个数:9,8,5,4,2,0。第一次先将最前面的两个数9和8对调。第二次将第2个数和第3个数对调(9和5)······...

冒泡排序(冒泡排序python)

冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是对待排序的元素从前向后依次比较相邻的两个元素,如果顺序不对则交换它们的位置,轮比较下来,最大的元素就会“冒泡”到数组的末尾重复这个过...

冒泡排序——C语言(冒泡排序c语言什么意思)

冒泡排序的图示:假设有一个数组 [5, 3, 8, 6, 2],逐步冒泡排序的过程:第一轮:比较 5 和 3,5 > 3,交换 → [3, 5, 8, 6, 2]比较 5 和 8,5 <...

常见的三种排序(冒泡排序、插入排序、选择排序)

冒泡排序什么是冒泡排序?百度百科解释:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要...

Python实现冒泡排序(python冒泡排序列表)

''' 冒泡排序原理:比较列表中相邻的两个元素大小,如果第2个元素比第1个元素大,就交换它俩的位置,从列表的开始到结尾, 依次对每一组相邻的2个元素都进行比较,这样最大的元素就...

十大经典排序(2)——冒泡排序(冒泡排序和简单排序)

什么是冒泡排序冒泡排序(Bubble Sort)是一种最基础的交换排序。之所以叫做冒泡排序,因为每一个元素都可以像小气泡一样,根据自身大小一点点向数组的一侧移动。冒泡排序的原理每一趟只能确定将一个数归...