今天来讲一讲如何用JS来实现冒泡排序,冒泡排序可以分为从小到大排序以及从大到小排序,我们分别来看一下:
从小到大排序:

var arr=[4,53,145,6,9,0,23,79,255,77];
for(var i=0;i<arr.length;i++){for(var j=i+1;j<arr.length;j++){if(arr[i]>arr[j]){...............//var brr=arr[i];arr[i]=arr[j];arr[j]=brr;}}
document.write(arr[i]+“====>”);
}

输出打印的结果是:
0====>4====>6====>9====>23====>53====>77====>79====>145====>255

从大到小排序:
只需要把//这一行的代码换成
if(arr[i]<arr[j]){
代码块不变;

即可。

解释:从小到大的话就好比第一个数与第二个数相比较,如果大于则互换位置,之后第一个数又与第三个数相比,如果大于则与排序过的新的数组互换位置,依次这样进行比较。之后再是第二个与第三个数相比较,第二个与第四个数相比较,与第五个、第六个…第三个与第四个…排列完之后就是从小到大排序的。

同理从大到小的话就是前面的数比后面的小则互换位置,原理相同。而下面这段代码指的是互换位置:
var brr=arr[i];
arr[i]=arr[j];
arr[j]=brr;

喜欢的话记得给我点赞⊙∀⊙!

JS中冒泡排序从小到大以及从大到小相关推荐

  1. 从一列数中筛除尽可能少的数使得从左往右看,这些数是从小到大再从大到小的(网易)。...

    题目描述: 从一列数中筛除尽可能少的数使得从左往右看,这些数是从小到大再从大到小的(网易). 分析: 这可以用双端LIS方法来解决,先求一遍从左到右的,再求一遍从右到左的.最后从里面选出和最大的即可. ...

  2. js中的数据类型分为两大类分别是什么_数据类型有这么重要吗?

    一个没有得到重视的知识点, 数据类型 每种语言都有自己的数据类型,下面以javascript为例 类型的分类 js的数据类型可以分为 两大类: 1,值类型 (String,Number,undefin ...

  3. 【C语言】选择排序从小到大,从大到小,详细注释

    前言 选择排序算法通过选择和交换来实现排序,其排序流程如下: (1)首先从原始数组中选择最小的1个数据,将其和位于第1个位置的数据交换. (2)接着从剩下的n-1个数据中选择次小的1个元素,将其和第2 ...

  4. 手动编写快排(快速排序),实现从小到大和从大到小排序

    快排的方法类 package com.hcc.util;public class QuickSort {/*** * @param arr 存放数据的数组* @param left 需要排序的开始下标 ...

  5. 用选择排序法对数组中10个整数从大到小排序

    选择排序法:在一组数据中,选出最小(大)的一个数,与第一个位置的数交换,在剩下数中找最小(大)的与第二个位置的数交换,以此类推. 使用一个函数实现: #include<stdio.h> v ...

  6. C++ vector容器的排序 (从小到大,从大到小)

    目录 从小到大 从大到小 方法一:greater() 方法二:自定义函数 方法三:使用sort排序后,使用reverse() 从小到大 sort的头文件<algorithm> #inclu ...

  7. Js鼠标放上去图片变大变小

    <img src="" οnmοuseοver="bigger()" οnmοuseοut="smaller()" id=" ...

  8. 五个数字从小到大排序java,五个数冒泡排序 用c语言数组定义5个数使用冒泡排序 从小到大...

    任意输入5个整数,利用冒泡排序法排序(从大到小) #include main() { int a[6]; /*定义一个整型数组.*/ int i,j,temp; /*定义循环变量和中间变量. 用jav ...

  9. 还是分不清JavaScript中冒泡排序与插入排序区别的看过来!!!

    冒泡排序 在冒泡排序的过程中,按照从小到大或从大到小的规则排序,不断地比较数组中相邻两个元素的值,较小或较大的元素前移,如下图所示: 从图可以看出,冒泡排序比较的次数是数组长度-1,每轮比较的对数 = ...

最新文章

  1. android中11种常见传感器的使用方法
  2. 网页php脚本是什么意思,php脚本是什么意思
  3. nodejs模块导入导出
  4. Twitter创始人Jack Dorsey的每日必做和不做清单
  5. 用户登录色一句java_SpringBoot中用SpringSecurity实现用户登录并返回其拥有哪些角色...
  6. SUN公司经典linux教材转自http://blog.chinaunix.net/uid-20446831-id-1677336.html
  7. Srs之state-threads研究
  8. 物联卡买回来怎么设置网速快_请自查!物联卡网速快慢,看看你的物联卡显示的是LTE还是4G...
  9. 【股票】成交量VOL隐含的交易秘密
  10. (转)windows 7兼容软件列表搜集加转帖
  11. python输出间隔符_python print 使用分隔符 或行尾符
  12. 魔术师要每位观众心里想一个三位数abc(abc分别是百位、十位和个位数字)然后魔术师让观众心中记下acb、bac、bca、cab、cba这5个数的和值。观众说出这个和是多少,则魔术师一定知道原数为多少
  13. c语言ATM机文件储存账号密码,C语言ATM(有文件输入输出).doc
  14. pes时处理PTS和DTS的方法
  15. mvn 执行 install 或者 compil 错误
  16. 0689 ZOJ - 4128
  17. 通过java实现微信公众号发送微信消息
  18. 【方案分享】阿里城市大脑数据智能解决方案.pdf(附下载链接)
  19. 在Linux系统上运行.net core程序
  20. linux 双显示器双鼠标

热门文章

  1. Elixir-Atoms
  2. 关于Cocos2dx-js游戏的jsc文件解密
  3. flutter 学习资源汇总
  4. MySQL_创建表,添加表注释,复制表结构
  5. 年度回忆录(2012.10----2013.01)
  6. 去哪儿网2014校园招聘技术笔试题(成都站,开发岗)——2014.09.23
  7. 模拟linux终端测试java,Linux 伪终端(pty)
  8. 前洛克希德马丁高工谈宽带RF接收机架构
  9. 指针<小罗爱c语言>
  10. 华为RS升级变成datacome的问题