首页 web前端 js教程 简单的冒泡以及双向冒泡排序案列

简单的冒泡以及双向冒泡排序案列

Mar 08, 2018 pm 01:44 PM
冒泡

这次给大家带来简单的冒泡以及双向冒泡排序案列,使用冒泡序列有哪些注意事项?,下面就是实战案例,一起来看一下。

冒泡排序示例,双向冒泡排序与对双向冒泡排序稍微的改进的可视化效果。

冒泡排序示例 

var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];
 
for(var i=0;i<ls.length;i++){
            for(var j=i+1;j<ls.length;j++){
                if(ls[i]>ls[j]){
                    ls[i]=ls[i]+ls[j];
                    ls[j]=ls[i]-ls[j];
                    ls[i]=ls[i]-ls[j];
                }
            }
        }
登录后复制

双向冒泡排序示例

var ls=[ 6,13,98,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];
 
for(var i=0;i<ls.length;i++){
            for(var j=i+1;j<ls.length-i;j++){
                if(ls[lent-1-i]<ls[lent-j]){
                    ls[lent-1-i]=ls[lent-1-i]+ls[lent-j];
                    ls[lent-j]=ls[lent-1-i]-ls[lent-j];
                    ls[lent-1-i]=ls[lent-1-i]-ls[lent-j];
                }//后面的比较
                if(ls[i]>ls[j]){
                    ls[i]=ls[i]+ls[j];
                    ls[j]=ls[i]-ls[j];
                    ls[i]=ls[i]-ls[j];
                }//前面的比较
            }
        }
登录后复制

双向冒泡排序稍微改进示例

var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];
 
var lent=ls.length;
for(var i=0;i<ls.length;i++){
            for(var j=i*2;j<ls.length-2*i;j++){
                if(ls[i*2]>ls[j+1]){
                    ls[i*2]=ls[i*2]+ls[j+1];
                    ls[j+1]=ls[i*2]-ls[j+1];
                    ls[i*2]=ls[i*2]-ls[j+1];
                }//保持内层第一个数为循环最小
                 
                if(ls[lent-i*2-1]<ls[lent-j-1]){
                    ls[lent-i*2-1]=ls[lent-i*2-1]+ls[lent-j-1];
                    ls[lent-j-1]=ls[lent-i*2-1]-ls[lent-j-1];
                    ls[lent-i*2-1]=ls[lent-i*2-1]-ls[lent-j-1];
                }////保持内层倒数第一个数为循环最大
                     
                    if(ls[lent-2-i*2]<ls[lent-j-1]){
                        ls[lent-2-i*2]=ls[lent-2-i*2]+ls[lent-j-1];
                        ls[lent-j-1]=ls[lent-2-i*2]-ls[lent-j-1];
                        ls[lent-2-i*2]=ls[lent-2-i*2]-ls[lent-j-1];
                    }//倒数上一个
                     
                    if(ls[i*2+1]>ls[j+1]){
                        ls[i*2+1]=ls[i*2+1]+ls[j+1];
                        ls[j+1]=ls[i*2+1]-ls[j+1];
                        ls[i*2+1]=ls[i*2+1]-ls[j+1];
                    }//下一个
            }
}
登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

怎样快速保存网页中的内容并且除去不想要的元素

 简易的图片点击上传功能

以上是简单的冒泡以及双向冒泡排序案列的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

掌握JavaScript中常见的事件冒泡机制 掌握JavaScript中常见的事件冒泡机制 Feb 19, 2024 pm 04:43 PM

JavaScript中常见的冒泡事件:掌握常用事件的冒泡特性,需要具体代码示例引言:在JavaScript中,事件冒泡是指事件会从嵌套层次最深的元素开始向外层元素传播,直到传播到最外层的父级元素。了解并掌握常见的冒泡事件,可以帮助我们更好地处理用户交互和事件处理。本文将介绍一些常见的冒泡事件,并提供具体的代码示例来帮助读者更好地理解。一、点击事件(click

哪些JS事件不会向上传播? 哪些JS事件不会向上传播? Feb 19, 2024 am 08:17 AM

JS事件中哪些不会冒泡?在JavaScript中,事件冒泡是指当一个元素触发了某个事件时,该事件会逐级向上冒泡到更高层的元素,直到冒泡到文档根节点。然后,事件处理程序会按照冒泡的顺序依次执行。然而,并不是所有的事件都会冒泡。有些事件在触发后只会执行目标元素上的事件处理程序,而不会冒泡到更高层的元素上。下面是一些常见的不会冒泡的事件:focus和blur事件:

为何同一事件会触发两次冒泡? 为何同一事件会触发两次冒泡? Feb 19, 2024 pm 10:34 PM

为何同一个事件冒泡会重复发生两次?事件冒泡是一种在浏览器中常见的事件传递机制。当一个元素触发了某个事件,这个事件将会从被触发的元素开始向上级元素依次传递,直到传递到了文档的根元素。这个过程就像水泡在水中冒起,所以被称为事件冒泡。然而,有时我们会发现同一个事件冒泡会重复发生两次,这是为什么呢?原因主要有两个方面:事件注册和事件处理。首先,我们需要明确的是,事件

先捕获还是先冒泡?解析事件流程的优劣势 先捕获还是先冒泡?解析事件流程的优劣势 Feb 21, 2024 pm 02:36 PM

先捕获还是先冒泡?解析事件流程的优劣势事件流程是Web开发中一个重要的概念,它描述了事件从发生到被处理的过程。在处理事件时,有两种主要的流程模型:先捕获后冒泡和先冒泡后捕获。这两种模型在不同的场景下各有优劣势,需要根据实际情况选择合适的模型。先捕获后冒泡是指在事件冒泡阶段前,先执行事件捕获阶段。事件捕获阶段从事件目标的根节点开始,逐级向下传递,直到到达目标元

探索单击事件冒泡,掌握前端开发的关键原理 探索单击事件冒泡,掌握前端开发的关键原理 Jan 13, 2024 am 10:56 AM

学习单击事件冒泡,掌握前端开发中的关键概念,需要具体代码示例前端开发是当今互联网时代中的一个重要领域,而事件冒泡是前端开发中的一个关键概念之一。理解和掌握事件冒泡对于编写高效的前端代码至关重要。本文将介绍什么是事件冒泡,以及如何在前端开发中使用事件冒泡的概念。一、什么是事件冒泡事件冒泡是指当一个元素上的事件被触发时,会先从最内层的元素开始,然后逐级向父级元素

学习事件冒泡,轻松实现复杂的交互效果 学习事件冒泡,轻松实现复杂的交互效果 Jan 13, 2024 am 08:01 AM

掌握事件冒泡,轻松实现复杂交互效果,需要具体代码示例事件冒泡(EventBubbling)是前端开发中一个重要的概念,它指的是当一个元素上的事件被触发后,该事件会自动向父级元素传播,直到传播到文档根元素。掌握了事件冒泡的原理和应用,我们可以轻松实现复杂的交互效果,提升用户体验。下面将通过具体的代码示例,来帮助读者更好地理解和应用事件冒泡。代码示例一:点击展

点击事件的冒泡机制及其在网页交互中的影响 点击事件的冒泡机制及其在网页交互中的影响 Jan 13, 2024 pm 02:34 PM

单击事件冒泡的作用及其对网页交互的影响在网页开发中,事件是实现交互和响应用户操作的关键。其中,事件冒泡是一种常见的事件机制,它允许一个嵌套的元素层次结构中的事件同时被多个元素响应。本文将详细解释单击事件冒泡的作用,并说明它对网页交互的影响,同时提供一些具体的代码示例。一、单击事件冒泡的概念单击事件冒泡(ClickEventBubbling)指的是当一个元

通过利用单击事件冒泡,如何增强网页交互体验 通过利用单击事件冒泡,如何增强网页交互体验 Jan 13, 2024 pm 02:23 PM

如何利用单击事件冒泡实现更灵活的网页交互体验引言:在前端开发中,我们经常会遇到需要在网页的一部分元素上添加点击事件的情况。然而,如果页面中的元素很多,为每个元素都添加点击事件将变得非常繁琐和低效。单击事件冒泡就可以帮助我们解决这个问题,通过将点击事件添加到公共父元素上,实现更灵活的网页交互体验。一、单击事件冒泡的原理单击事件冒泡是指当一个元素上的点击事件被触

See all articles