博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2d JS-(JavaScript) 冒泡排序
阅读量:7067 次
发布时间:2019-06-28

本文共 627 字,大约阅读时间需要 2 分钟。

思想:

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

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

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

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

效率:

时间复杂度:平均 O(n)

空间复杂度:需要辅助空间 O(1)

稳定性:稳定

js代码:

function bubbleSort(arr) {        var i = arr.length, j; var tempExchangVal; while (i > 0) { for (j = 0; j < i - 1; j++) { if (arr[j] > arr[j + 1]) { tempExchangVal = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tempExchangVal; } } i--; } return arr; } var arr = [3, 2, 4, 9, 1, 5, 7, 6, 8]; console.log("before: "+arr); var arrSorted = bubbleSort(arr); console.log(" after: "+arrSorted);

转载于:https://www.cnblogs.com/luorende/p/8549646.html

你可能感兴趣的文章
C# 读取Excel
查看>>
spring3.0事务的配置
查看>>
【原】使用StarUML画用例图
查看>>
[原]如何在Android用FFmpeg+SDL2.0之同步音频
查看>>
查看linux硬件信息
查看>>
USB移动硬盘WinPE启动盘的制作方法
查看>>
显示脉冲效果的PulsingView
查看>>
修改Subversion用户登录密码
查看>>
求N!末尾的0的个数(找规律+递归)
查看>>
sql server 查询数据库所有的表名+字段
查看>>
[ PHP+jQuery ] ajax 多级联动菜单的应用:电商网站的用户地址选择功能 ( 一 ) - 传统下拉菜单...
查看>>
iOS8 PUSH解决方法
查看>>
IPC通信:Posix消息队列
查看>>
Codeforces Round #279 (Div. 2) A. Team Olympiad 水题
查看>>
小米盒子 作为nas服务器
查看>>
WCF服务实现客户端Cookie共享,表单验证的解决方案
查看>>
Rule Or WorkFlow
查看>>
Unity自动构建
查看>>
Windows Phone 8.1上的开发人员请看
查看>>
BZOJ3118 : Orz the MST
查看>>