首页 > 编程源码 > 基础算法之冒泡排序

基础算法之冒泡排序

楼主:零度 [1级] · 2020-5-17 ·  浏览717 · 编程源码 · ID:
什么是冒泡排序?

冒泡排序是一种最基础的交换排序。冒泡排序就像水冒泡,小(大)的元素经过不断的交换由水底慢慢的浮到水的顶端。
- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者零度流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/28998.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
7条回复 |  最后回复于2020-5-17

零度 [1级]

冒泡排序的思想

我们从左边开始把相邻的两个数两两做比较,当一个元素大于右侧与它相邻的元素时,交换它们之间位置,反之,它们之间的位置不发生变化。冒泡排序是一种稳定的排序算法。
发布于2020-5-17

回复列表

  • 内容加载中...

说点什么...

零度 [1级]

时间复杂度:O(n^2)
空间复杂度:O(1)
发布于2020-5-17

回复列表

  • 内容加载中...

说点什么...

夏天的流星雨 [2级]

顶!!!!!
发布于2020-5-17

回复列表

  • 内容加载中...

说点什么...

零度 [1级]

代码实现:
发布于2020-5-17

回复列表

  • 内容加载中...

说点什么...

零度 [1级]

但是这时候有个bug,有时候已经排序好了,但还是会对后面的进行比较,因此对算法进行一下优化。
发布于2020-5-17

回复列表

  • 内容加载中...

说点什么...

零度 [1级]

增加一个标记(flag),每次发生交换,就进行标记,如果某次循环完没有标记,则说明已经完成排序,数组有序,剩下的几趟排序就不需要再去执行了,可以提前结束排序。
发布于2020-5-17

回复列表

  • 内容加载中...

说点什么...

零度 [1级]

冒泡排序里面需要交换两个元素的位置,交换两个元素可以用异或操作符,这样不需要创建第三个变量,减少内存开销,但效率上不如创建第三个变量

end

本期内容就到这里
发布于2020-5-17

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
51人签到
已签0天
  • 46576帖子
  • 1936157热点量
  • 184709火热值