js--冒泡排序[由小到大]

冒泡流程写法 (小的往左冒)
<!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--冒泡排序[由小到大]的更多相关文章
- js 冒泡排序与快速排序
刚好今晚看了js的冒泡排序跟快速排序,趁着还没忘记先记下来. 1. 冒泡排序:遍历数组,每个元素都与后一个元素比较,如果大于下一个元素,则两个元素位置调换.否则的话当前元素再与下下个元素比较,一直到 ...
- js冒泡排序
今天面试了家公司,最后要写个js的简单数组排序,很久都写不出来,好尴尬,随着语言的发展,这些简单方法越来越不被重视了... <html> <head> <script t ...
- JS冒泡排序(数组)
冒泡排序是把数组相邻的两个值进行比较,然后根据条件执行相应的命令 var arr = [0,4,8,5,2,7,1,3,6,9]; for(var s = 0;s<arr.length;s++) ...
- js冒泡排序与二分法查找
冒泡排序 var attr=[1,5,7,6,3,9,2,8,4]; var zj=0; //控制比较轮数 for(var i=0;i<attr.length-1;i++) { //控制每轮的比 ...
- js冒泡排序和二分查找
冒泡排序: var arr=[5,0,-56,900,12,9000,-123,-1000]; var flag=false; for(var i=0;i<arr.length-1;i++){ ...
- js冒泡排序及计算其运行时间
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- JS 冒泡排序从学到优化
目的:理解算法 深化算法 冒泡排序: 直接上动图好于文字 一个冒泡实例 45,67,23,88,21,6,99// 第一轮 6次// 45 67 23 88 21 6 99// 45 23 67 88 ...
- js冒泡排序,数组去重
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js 冒泡排序、快速排序、去重、查找字符串最多值(面试常有)
冒泡排序 var bubbleSort = function(arr) { for (var i = 0; i < arr.length-1; i++) { for (var j = i+1; ...
- JS冒泡排序的6种写法(武当雄风)
天下英雄出我辈,一入江湖岁月催.鸿图霸业谈笑间,不胜人生一场醉. 武当山上,一年一度的试道大会又开始了... 众武当弟子摩拳擦掌都想在此次试道大会上一展风采... 张三丰临终前曾留下一句话:试道大会采 ...
随机推荐
- Threejs基础学习【修改版】
一. Three.js官网及使用Three.js必备的三个条件 1.Three.js 官网 https://threejs.org/ 2.使用Three.js必备的三个条件(To actually b ...
- Python中的各种装饰器详解
Python装饰器,分两部分,一是装饰器本身的定义,一是被装饰器对象的定义. 一.函数式装饰器:装饰器本身是一个函数. 1.装饰函数:被装饰对象是一个函数 [1]装饰器无参数: a.被装饰对象无参数: ...
- [Bzoj]1012最大数maxnumber
题目如上(线段树???),蒟蒻第二眼想法(其实这道题正解是单队的说,但蒟蒻刚学线段树,于是...就) 献上黑历史: RE是因为蒟蒻数组开太小:第一次开110000:第二次开200000:结果就………… ...
- 微信小程序-scroll-view隐藏滚动条
在书写网页的时候,往往会为了页面的美观,而选择去掉滚动区域默认的滚动条,而在这里,就是为小程序去掉滚动条的其中的一种方法: scroll-view.wxml: scroll-view.wxss scr ...
- 关于64位win7环境下VS连接oracle数据库的问题
本机环境:64位win7,安装了64位的oracle桌面类 服务器环境:64位windows server 2008,64位oracle服务器端 问题:本机用sql developer连数据库没有问题 ...
- Windows 下 Apache HTTP Server 与 Tomcat 的整合
整合准备: 1.Apache HTTP Server(下文用Apache简称) 2.Tomcat 7或8 3.mod_jk.so (tomcat-connectors)-这个文件是用来链接http s ...
- NGINX----源码阅读---config配置脚本
config文件为nginx的配置入口文件. 1. #!/bin/sh # Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. LC_ALL=C ...
- Php 关于构造函数
子类在继承父类后,会拥有父类的属性和方法,这是继承的特性. 子类在构造函数会首先调用父类的构造函数来实例化父类的属性,然后调用子类的构造函数,一般你不写,并不表示没有调用,而是首先调用了父类的无参构造 ...
- CodeForces 681D Gifts by the List
$dfs$,后续遍历. 如果某个节点$a[i]=i$,那么$i$的后继的$a[i]$都要指向$i$,直到出现新的后继$j$,$a[j]=j$.利用这个可以判断是否有解. 如果有解的话,那么只要输出后序 ...
- tablesorter周边文档
一.简介: Tablesorter作用于一个标准的HTML表格(有THEAD,TBODY),实现静态排序:主要特点包括: (1) 多列排序: (2) 支持文本.URI地址.数值.货币.浮点数.IP地 ...