- 浏览: 17295 次
冒泡排序的原理是这样的,比方说有五个数字54321,要按从小到大排列;
首先比较前两个,就是5和4,如果第一个小于第二个,不做操作,如果第一个大于第二个,那么交换二者的位置,即变成45321,然后比较第二个和第三个,交换位置,变成43521,然后第三个和第四个,第四个和第五个,这样一次循环下来,变成43215
所以,一层循环的效果就是挑出最大的一个数字5,冒泡到最后面。但是还要挑出第二大,第三大的数字,等等。所以一层循环根本就不够用,必须再套一层才行。像这个例子,五个数字,起码要进行四轮循环才行。至于为什么要this.length-i,是因为第一次比较五个数字,第二个只要比较前四个就行了,第五个肯定是最大的了。。
首先比较前两个,就是5和4,如果第一个小于第二个,不做操作,如果第一个大于第二个,那么交换二者的位置,即变成45321,然后比较第二个和第三个,交换位置,变成43521,然后第三个和第四个,第四个和第五个,这样一次循环下来,变成43215
所以,一层循环的效果就是挑出最大的一个数字5,冒泡到最后面。但是还要挑出第二大,第三大的数字,等等。所以一层循环根本就不够用,必须再套一层才行。像这个例子,五个数字,起码要进行四轮循环才行。至于为什么要this.length-i,是因为第一次比较五个数字,第二个只要比较前四个就行了,第五个肯定是最大的了。。
var array = [5,4,3,2,1]; var n = 0; for (var i=0;i<array.length;i++) { for (var j =0 ;j < array.length-i; j++) { if( array[j]>array[j+1]) { n = array[j+1]; array[j+1] = array[j]; array[j] = n; } } } console.log(array); //array=[1,2,3,4,5]
发表评论
-
audio 音频格式测试数据
2017-09-20 16:15 540压缩包内含 wav格式语音,aac 格式语音和H.264 格式 ... -
web 端录音
2017-09-12 17:22 464<!DOCTYPE html> <ht ... -
js 获取浏览器类型和版本
2017-09-12 16:03 604function getExplore(){ var ... -
本地存储——cookie
2017-02-09 11:44 381cookie是客户端用来存储数据的一种选项,既可以设 ... -
本地存储的方式对比
2017-02-08 15:51 906本地存储方式有很多种,cookie、loca ... -
sublime text3 中文乱码
2016-11-29 17:19 386换了一个编译器,sublime text3, 但是存在中文乱码 ... -
CSS背景图与html插入img的区别
2016-11-01 19:03 3851、css中的图片以背景图形式存在,写在 ... -
HTTP 的三次握手和四次挥手
2016-10-12 16:04 394网络由下往上分为7层:物理层、数据链路层、网 ... -
SpriteSpin 一款图像360度旋转的jquery插件
2016-10-11 15:00 651在 web 页面上使用 jQuery 图像 36 ... -
圆形进度条(假的无限循环)
2016-08-30 11:21 928<div id="outer"& ... -
转载实用假进度条
2016-08-29 15:16 1481这是一款超酷CSS3 loading加载动画特效。该loadi ... -
hmtl 中div宽度不定时如何居中
2016-08-24 17:00 370传统的div居中方式margin: 0 auto;在div ... -
幻灯片式的图片点击切换
2016-08-16 17:09 348这是一款非常酷的纯css3响应式背景视觉差幻灯片插件。插件中使 ... -
工作后的第一篇博客
2016-08-16 10:59 385已经上班一个月零十一天了,也毕业两个月零十天了, ... -
JS性能优化的问题
2016-06-26 21:51 411一些关于JS性能的一些优化的小技巧: 1.关于JS的循环,循 ... -
前端中的MVC
2016-06-26 13:06 349标签: MVC是一种设计 ... -
手机页面自适应问题的解决方法(转)
2016-06-25 21:50 368其实主要就是改掉HTML页面声明: 在网页中加入以下代码, ... -
常见浏览器兼容问题(转载)
2016-06-25 21:30 301浏览器兼容问题一:不同浏览器的标签默认的margin和padd ... -
个人总结(二)
2016-06-20 15:04 358主流浏览器之间的差异: 谷歌浏览器Chrome支持自定义计划处 ... -
个人总结
2016-06-20 14:52 332H4和H5 的区别: h4的内容标签级别相同,无法区分各部分内 ...
相关推荐
js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序...
js冒泡排序,冒泡排序的工作原理,我们有一个未排序的数组arr = [ 1, 4, 2, 5, -2, 3 ]任务是使用冒泡排序对数组进行排序。 冒泡排序比较索引 0 中的元素,如果第 0 索引大于第 1 索引,则交换值,如果第 0 索引...
js冒泡排序的几种写法,如果要面试,可以借鉴一下
直接运行html 文件即可,第一个文本框为要排序的数字,第二位为排序后的现实的地方
js冒泡排序
JavaScript实现简单冒泡排序
JS冒泡排序,极简好用。
JavaScript中的冒泡排序是一种基础且常见的排序算法,它的工作原理是通过不断交换相邻的不正确顺序的元素,使得较大的元素逐渐“冒”到数列的末尾,从而达到排序的目的。冒泡排序的时间复杂度在最坏的情况下为O(n^2)...
HTML5 css3 基于Vue.js的冒泡排序模拟动画,刚打开还以为是模拟的弹钢琴呢,呵呵。这个效果演示了每个冒泡过程,对应DIV的展现,依次着色的效果,到最后把对应所有数据的表格都着色,也就是显示了排序的结果。可以说...
冒泡排序
文档包含javascript的冒泡排序,选择排序,深度克隆,深拷贝,正则表达式验证邮箱,打印素数等,部分算法有多重方法。
根据给定文件的信息,我们可以总结出以下关于“数据结构中的冒泡排序以及输出每趟排序结果”的知识点: ### 一、冒泡排序的基本概念 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,...
vue.js是一款轻量级的渐进式JavaScript框架,...这次给大家带来了一款基于Vue.js的有趣动画,它主要模拟了冒泡排序的过程,冒泡排序大家应该非常熟悉,这次用vue.js来直观展现冒泡排序的全过程,还是非常富有创意的。
以下是一个基本的JavaScript冒泡排序函数实现: ```javascript function bubbleSort(arr) { var len = arr.length; for (var i = 0; i ; i++) { for (var j = 0; j ; j++) { if (arr[j] > arr[j + 1]) { var ...
在Javascript中实现冒泡排序算法,通常需要通过双层嵌套的for循环来完成。外层循环控制排序的总轮数,内层循环负责每一轮的比较和交换。每一轮排序后,最大的数会被放置在当前未排序的数列的末尾。随着外层循环的...
冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻元素并交换位置,使得每个元素都能找到其正确的位置。在本教程中,我们将深入探讨如何使用C#后端和jQuery前端来实现这个算法,这对于初学者来说...
js冒泡排序
压缩包js文件是一个使用JavaScript实现冒泡排序的示例代码。这个实现的时间复杂度在最坏情况下是 O(n^2),其中 n 是数组的长度。尽管冒泡排序不是最高效的排序算法,但由于其实现简单,对于小规模数据的排序仍然是一...
冒泡排序由于比较简单和容易理解,往往会成为人们首先想到的排序算法。最基本的想法就是在一次里面比较两个数字,并且确保他们在移动到其他项目之前有一个正确的顺序。在每一关结束,有价值的“排序”到正确的位置,...