冒泡流程写法  (小的往左冒)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>hello world</title>
</head>
<body>
<script>
let arr=[8,7,9,1,3];
let temp;
for(let i=0; i<arr.length-1; i++){
console.warn(`\n-------第${i+1}趟:目的是取出数组中第${i+1}个最小的数------`)
for (let j=i+1; j<arr.length; j++) {
let result=arr[i]>arr[j];
console.log(`第${j-i}次比较:拿数组第1个元素${arr[i]}比较数组第${j}个元素${arr[j]},结果${result?'是大于!':'本身就是是小于!'}${result?'把小的数'+arr[j]+'置前':'暂且暂且不动'}`)
if(result){
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
console.log(arr)
}
console.log(`说明:经过第${i+1}趟比较,已经选出了第${i+1}小的数,是${arr[i]}`)
}
console.log('最后一个不用循环了,肯定是最大的了')
</script>
</body>
</html>

还有另一种冒泡排序(大的往右冒)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>hello world</title>
</head>
<body>
<script>
function sortAry(ary){
for(let i=0;i<ary.length-1;i++){
console.warn(`--第${i+1}趟:目的是取出数组中第${i+1}个最大的数--`)
for(let j=0;j<ary.length-1-i;j++){
let result=ary[j]>ary[j+1]
console.log(`第${j+1}次比较:拿数组第${j}个元素(${ary[j]})与${j+1}个元素(${ary[j+1]})做比较,${result?'是大于,调换两者位置':'保持不动'}`); if(result){
let temp=ary[j];
ary[j]=ary[j+1];
ary[j+1]=temp;
}
console.log(ary)
}
console.log(`说明:经过第${i+1}趟比较,已经选出了第${i+1}大的数,是${ary[ary.length-1-i]}`)
}
console.log('最后一个不用循环了,肯定是最小的了') }
let arr=[8,7,9,1,3];
sortAry(arr)
</script>
</body>
</html>

var a=[6,2,4,1,5,9],t;
for(var i=0;i<a.length;i++){
for(var j=0;j<a.length-1;j++){
if(a[j]>a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
console.log(a)

这两种都是冒泡啦

当然,如果是数组排序的话,还有js内置的sort方法

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>hello world</title>
</head>
<body>
<script type="text/javascript">
function sortNumber1(a, b){return a - b}
function sortNumber2(a, b){return b - a} var arr = [10,5,40,25,100,1];
document.write(arr.sort()+'<br/>')//默认
document.write(arr.sort(sortNumber1)+'<br/>')//从小到大
document.write(arr.sort(sortNumber2))//从大到小
</script>
</body>
</html>

出自w3c

js--冒泡排序[由小到大]的更多相关文章

  1. js 冒泡排序与快速排序

    刚好今晚看了js的冒泡排序跟快速排序,趁着还没忘记先记下来. 1. 冒泡排序:遍历数组,每个元素都与后一个元素比较,如果大于下一个元素,则两个元素位置调换.否则的话当前元素再与下下个元素比较,一直到 ...

  2. js冒泡排序

    今天面试了家公司,最后要写个js的简单数组排序,很久都写不出来,好尴尬,随着语言的发展,这些简单方法越来越不被重视了... <html> <head> <script t ...

  3. JS冒泡排序(数组)

    冒泡排序是把数组相邻的两个值进行比较,然后根据条件执行相应的命令 var arr = [0,4,8,5,2,7,1,3,6,9]; for(var s = 0;s<arr.length;s++) ...

  4. js冒泡排序与二分法查找

    冒泡排序 var attr=[1,5,7,6,3,9,2,8,4]; var zj=0; //控制比较轮数 for(var i=0;i<attr.length-1;i++) { //控制每轮的比 ...

  5. js冒泡排序和二分查找

    冒泡排序: var arr=[5,0,-56,900,12,9000,-123,-1000]; var flag=false; for(var i=0;i<arr.length-1;i++){ ...

  6. js冒泡排序及计算其运行时间

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. JS 冒泡排序从学到优化

    目的:理解算法 深化算法 冒泡排序: 直接上动图好于文字 一个冒泡实例 45,67,23,88,21,6,99// 第一轮 6次// 45 67 23 88 21 6 99// 45 23 67 88 ...

  8. js冒泡排序,数组去重

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. js 冒泡排序、快速排序、去重、查找字符串最多值(面试常有)

    冒泡排序 var bubbleSort = function(arr) { for (var i = 0; i < arr.length-1; i++) { for (var j = i+1; ...

  10. JS冒泡排序的6种写法(武当雄风)

    天下英雄出我辈,一入江湖岁月催.鸿图霸业谈笑间,不胜人生一场醉. 武当山上,一年一度的试道大会又开始了... 众武当弟子摩拳擦掌都想在此次试道大会上一展风采... 张三丰临终前曾留下一句话:试道大会采 ...

随机推荐

  1. Flood it 游戏

    致敬HDU4127做的一个小游戏(数据结构大作业没东西写就搞这个了QAQ). 游戏截图(当然上交版本就没这么暴力拉): GUI界面选用的是Qt,由于之前没有接触过相关的东西,入门Qt花了不少时间. 大 ...

  2. python爬虫框架scrapy初识(一)

    Scrapy介绍 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中.所谓网络爬虫,就是一个在网上到处或定向抓取数据的 ...

  3. 面向对象UML中类关系

    如果你确定两件对象之间是is-a的关系,那么此时你应该使用继承:比如菱形.圆形和方形都是形状的一种,那么他们都应该从形状类继承而不是聚合.如果你确定两件对象之间是has-a的关系,那么此时你应该使用聚 ...

  4. python json.load 的奇葩错误

    json.load() 可以参数是文件对象, 但是这种方式会遇到莫名其妙的错误: No JSON object could be decoded 有的朋友说的是utf-8编码有BOM和无BOM造成的. ...

  5. Symfony命令大全

    执行命令: $ php bin/console 查看一下命令 Symfony version 3.1.5 - app/dev/debug Usage: command [options] [argum ...

  6. VMware虚拟机服务的vmware-hostd自动启动和停止

    安装了虚拟机 任务管理器会出现vmware-hostd.exe  占用了80端口,导致xampp打不开,所以就想关闭vmware,解决方案如下: 开始——运行——services.msc,找到VM打头 ...

  7. Java中的Class类

    Class 类是在Java语言中定义一个特定类的实现.一个类的定义包含成员变量,成员方法,还有这个类实现的接口,以及这个类的父类.Class类的对象用于表示当前运行的 Java 应用程序中的类和接口. ...

  8. 如何使用Git上传代码到GitHub

    1.在Github上面创建Github仓库: 2.下载Github Shell到本地:https://desktop.github.com/ 3.打开Github Shell,输入以下命令生成秘钥来验 ...

  9. Gentoo双网卡同时启用上内外网

    引言:本文配置网络通过 OpenRC/netifrc 方法(net.*scritps)配置. 外网网卡:enp3s4 内网网卡:enp2s0 外网地址(通过路由器) IP: 192.168.1.10 ...

  10. java 时间

    package com.grace.test; import java.text.DateFormat; import java.text.ParseException; import java.te ...