位置: 编程技术 - 正文

分享javascript实现的冒泡排序代码并优化(js实例教程)

编辑:rootadmin

推荐整理分享分享javascript实现的冒泡排序代码并优化(js实例教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js分享软件集合,js分享软件集合,js 分享到微信,js软件分享,js 分享,javascript技术分享,js 分享,javascript源码分享网站,内容如对您有帮助,希望把文章链接给更多的朋友!

冒泡排序:就是将一个数组中的元素按照从大到小或者从小到大的顺序进行排列。

第一轮比较:8,7,6,5,4,3,2,1,9 交换了8次 i=0 j=array.length-1-i

第二轮比较:7,6,5,4,3,2,1,8,9 交换了7次 i=1 j=array.length-1-i

第三轮比较:6,5,4,3,2,1,7,8,9 交换了6次 i=2 j=array.length-1-i

第四轮比较:5,4,3,2,1,6,7,8,9 交换了5次 i=3 j=array.length-1-i

第五轮比较:4,3,2,1,5,6,7,8,9 交换了4次 i=4 j=array.length-1-i

第六轮比较:3,2,1,4,5,6,7,8,9 交换了3次 i=5 j=array.length-1-i

分享javascript实现的冒泡排序代码并优化(js实例教程)

第七轮比较:2,1,3,4,5,6,7,8,9 交换了2次 i=6 j=array.length-1-i

第八轮比较:1,2,3,4,5,6,7,8,9 交换了1次 i=7 j=array.length-1-i

代码实现:

代码优化:

备注:比较轮数最好情况为0轮,最坏为8轮

我们再来看个冒泡排序的算法

看了另一个前端工程师,西风瘦马的代码,在第一层for循环加入初始化一个exchange交换标志为false,当有交换发生时,则变为true,在第二层for循环结束后加入一个判断,如果为false,即从前往后对比没有交换,证明已经大小顺序正确,即可break来跳出外层for循环。

之前还收藏过一个网友的算法,也相当不错,大家看下

好了,今天就先给大家总结这些吧,希望对小伙伴们学习JavaScript冒泡排序能够有所帮助

对象转换为原始值的实现方法 首先,我们要明白原始值得概念原始值存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。引用值存储在堆(heap)中

浅谈String.valueOf()方法的使用 前面的话关于类型转换,对象常见的两个方法是toString()和valueOf()。实际上,这两个方法也可以应用在包装类型上。前面已经介绍过toString()方法,本文将

JavaScript 对象字面量讲解 在编程语言中,字面量是一种表示值的记法。例如,"Hello,World!"在许多语言中都表示一个字符串字面量(stringliteral),JavaScript也不例外。以下也是JavaScr

标签: js实例教程

本文链接地址:https://www.jiuchutong.com/biancheng/370099.html 转载请保留说明!

上一篇:深入理解Javascript中的自执行匿名函数(深入理解javascript特性.pdf)

下一篇:对象转换为原始值的实现方法(对象转化为字符串的几种方式)

  • 初中毕业可以考警察学校吗
  • 什么是进项加计扣除
  • 加工企业怎么记账
  • 企业电子支付
  • 税务变更需要哪些材料
  • 工业会计成本核算分录
  • 行政事业单位核算短期投资时有关预算会计核算正确的是
  • 上年度重复结转会计分录
  • 收到报废车款要交什么税
  • 会计科目的使用说明应包括
  • 发票 抵扣联
  • 苗木增值税发票税率
  • 所得税季度申报表营业成本怎么填
  • 存货的计税价格是什么
  • 应对税务稽查的六点注意事项
  • 税务申报没报上怎么办
  • 发票遗失登报费用账务处理
  • 增值税一般纳税人与小规模纳税人的区别
  • 什么是现金购房
  • 分期收款所得税收入确认多少
  • 企业为员工缴纳社保可以抵税吗
  • 咨询服务费需要交印花税吗
  • silent.exe - silent是什么进程 有什么用
  • 现金流量套期的例子
  • python安装tensorflow gpu
  • 购买性支出和转移性支出都计入GDP
  • 会计分录内容包括
  • 工业企业成本核算方法
  • 补缴免抵退
  • php安装及使用教程
  • php不能通过浏览器运行吗
  • php下载文件到指定目录
  • 商贸企业发生退税的原因
  • 帝国cms怎么加自己的名字
  • 营业税差额计税
  • 发票过期未认证可以用吗
  • 异地预缴印花税是否可以抵扣
  • 发票章与开票方名称不一致是什么情况
  • python PyQt如何使用资源
  • 企业签发银行承兑汇票支付采购款
  • 无票收入会计分录实例
  • 固定资产清理残料收入
  • 退去年的销售账务如何处理
  • 财务软件怎样和银行对账
  • 增值税专用发票查询系统官方网站
  • 银行对账单冲正的单据在财务软件哪里找
  • 汽车价外费用
  • 企业支付境外佣金要交税吗?
  • 进项和销项必须一致才能抵扣吗
  • 会计出账入账怎么做
  • mysql中的查询
  • mysql安装配置教程5.7.25
  • sql语句错误提示
  • mysql增删改查实例
  • 活动目录管理工具
  • 笔记本带u
  • mac可以上qq但是打不开网页
  • 移动u盘的作用
  • u大师教程
  • win8.1使用技巧大全
  • 微软账号重新登录
  • Unity AssetBundle爬坑手记
  • OSG 砖块 shader 例子 GLSL
  • eclipse如何调节字体
  • 提高网站性能
  • jquery地址
  • shell脚本 \r
  • unity3d功能
  • 微信假消息
  • 辽宁省社保系统操作
  • 工会经费什么时候交
  • 党日活动与专业建设结合
  • 贵州电子税务局怎么登录
  • 代收国税地税收入
  • 发票开票人一定要真实姓名吗
  • 贵州省税务总局领导班子
  • 现在哪个保险公司车险好
  • 纳税人分类分级管理办法
  • 矿产资源税税率2020年
  • 红伞伞儿歌寓意着什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设