经典排序算法之冒泡排序

编程入门 行业动态 更新时间:2024-10-07 22:29:46

经典排序<a href=https://www.elefans.com/category/jswz/34/1770096.html style=算法之冒泡排序"/>

经典排序算法之冒泡排序

前言

最近在学习一些排序算法相关的知识,然后为了巩固知识,想把所学所想以文章的形式进行整理记录和输出。
提到排序,想必大家都能想到冒泡排序,相信只要是程序员也应该都知道这个耳熟能详的经典算法了。
虽然冒泡排序不是最优的排序方案,但绝对绝对称得上是经典。
在我最初学习冒泡排序时其实并不懂得它的具体思路是什么,老师只是让我们记住了一个口诀:“外层循环 n - 1,内层循环 n - i - 1。其中n为数组的长度,i是外层循环的变量”。还别说这个口诀还真**的准,一套准对。就这么稀里糊涂的用了好几年,虽然每次都能用对,但正如那句话:知其然不知其所以然。直到前段时间学习算法,这才彻底明白了为什么要这样用,同时还知道了原来还有一种优化方案。接下来我们就一起来分析一下冒泡排序的实现思路及优化方案。

思路分析

假设给定一个无序数组[12, 1,8,21,7,4,10],我们想让这个数组中的值进行升序排序,那么最终想要的效果就是[1, 4,7,8,10,12,21]。其实冒泡的原理很简单,就是两个相邻数进行比较然后交换位置,以上面的数组为例。记住我们的口诀(外层循环n-1,内层循环n-i-1)

  • 循环开始12和1比较,发现12比1大,然后交换位置则变为:[1,12,8,21,7,4,10]
  • 循环继续12和8比,交换位置:[1,8,12,21,7,4,10]
  • 循环继续12和21比,不用交换位置:[1,8,12,21,7,4,10]
  • 循环继续21和7比,交换

更多推荐

经典排序算法之冒泡排序

本文发布于:2024-03-13 17:47:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1734496.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:算法   经典

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!