JavaScript算法---基础排序类
<html>
<script>
//正序排序,把大的放到最后,arr[j]>arr[j+1]
let fz=(arr)=>{
for(let len=arr.length-1,i=len,tmp;i>0;i--){
for(let j=0;j<i;j++)
if(arr[j]>arr[j+1]){
tmp=arr[j]
arr[j]=arr[j+1]
arr[j+1]=tmp
}
}
return arr
}
//倒序排序,把大的放前面,小的放后面,arr[j+1]>arr[j]
let fd=(arr)=>{
for(let i=arr.length-1,tmp;i>0;i--){
for(let j=0;j<i;j++){
if(arr[j+1]>arr[j]){
tmp=arr[j]
arr[j]=arr[j+1]
arr[j+1]=tmp
}
}
}
return arr
}
//选择排序,标记一个最小值
let fs = (arr)=>{
for(let i=0,len=arr.length,min;i<len;i++){
min=arr[i]
for(let j=i+1;j<len;j++){
if(min>arr[j]){
let c=min;
min=arr[j]
arr[j]=c
}
}
arr[i]=min
}
return(arr)
}
console.log(fz([4,3,8,6,7,1,0]))
console.log(fd([4,3,8,6,7,1,0]))
console.log(fs([10,-1,4,3,8,6,7,1,0]))
</script>
</html>
<html><script>//正序排序,把大的放到最后,arr[j]>arr[j+1]let fz=(arr)=>{for(let len=arr.length-1,i=len,tmp;i>0;i--){for(let j=0;j<i;j++)if(arr[j]>arr[j+1]){tmp=arr[j]arr[j]=arr[j+1]arr[j+1]=tmp}}return arr}//倒序排序,把大的放前面,小的放后面,arr[j+1]>arr[j]let fd=(arr)=>{ for(let i=arr.length-1,tmp;i>0;i--){ for(let j=0;j<i;j++){ if(arr[j+1]>arr[j]){ tmp=arr[j] arr[j]=arr[j+1] arr[j+1]=tmp } } }return arr}//选择排序,标记一个最小值let fs = (arr)=>{for(let i=0,len=arr.length,min;i<len;i++){min=arr[i]for(let j=i+1;j<len;j++){if(min>arr[j]){let c=min;min=arr[j]arr[j]=c}}arr[i]=min}return(arr)} console.log(fz([4,3,8,6,7,1,0])) console.log(fd([4,3,8,6,7,1,0])) console.log(fs([10,-1,4,3,8,6,7,1,0]))</script></html>
JavaScript算法---基础排序类的更多相关文章
- JavaScript算法实现——排序
在计算机编程中,排序算法是最常用的算法之一,本文介绍了几种常见的排序算法以及它们之间的差异和复杂度. 冒泡排序 冒泡排序应该是最简单的排序算法了,在所有讲解计算机编程和数据结构的课程中,无一例外都会拿 ...
- <算法基础><排序>三种高级排序——快速排序,堆排序,归并排序
这三种排序算法的性能比较如下: 排序名称 时间复杂度(平均) 时间复杂度(最坏) 辅助空间 稳定性 快速排序 O(nlogn) O(n*n) O(nlogn) 不稳定 堆排序 O(nlogn) O(n ...
- JavaScript算法实现排序
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Java面试宝典系列之基础排序算法
本文就是介绍一些常见的排序算法.排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序.选择排序.冒泡排 ...
- 6种基础排序算法java源码+图文解析[面试宝典]
一.概述 作为一个合格的程序员,算法是必备技能,特此总结6大基础算法.java版强烈推荐<算法第四版>非常适合入手,所有算法网上可以找到源码下载. PS:本文讲解算法分三步:1.思想2.图 ...
- 十大基础排序算法[java源码+动静双图解析+性能分析]
一.概述 作为一个合格的程序员,算法是必备技能,特此总结十大基础排序算法.java版源码实现,强烈推荐<算法第四版>非常适合入手,所有算法网上可以找到源码下载. PS:本文讲解算法分三步: ...
- javascript数据结构与算法--高级排序算法
javascript数据结构与算法--高级排序算法 高级排序算法是处理大型数据集的最高效排序算法,它是处理的数据集可以达到上百万个元素,而不仅仅是几百个或者几千个.现在我们来学习下2种高级排序算法-- ...
- php四种基础排序算法的运行时间比较
/** * php四种基础排序算法的运行时间比较 * @authors Jesse (jesse152@163.com) * @date 2016-08-11 07:12:14 */ //冒泡排序法 ...
- JavaScript写一个表格排序类
依稀记得那是上个星期六的下午,我参加了网易暑期实习生招聘笔试.考得相当糟糕,编程题3个题通过了2个,简答题没做对,选择题貌似是20个题猜了6-7个,99%是挂了,唉唉唉!生活不只眼前的苟且,学习的脚步 ...
- Java基础系列--基础排序算法
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9082138.html 一.概述 基础排序算法包括:桶排序.冒泡排序.选择排序.插入排序等 ...
随机推荐
- Python 列表list方法clear( )和直接list [ ]的区别
x.clear()是将内存地址清空, x=[ ]会新开辟一个内存空间.
- #动态规划#CF889E Mod Mod Mod
题目传送门 分析 这道题有一个很妙的地方就是将一段前缀整体一起做. 设 \(dp[i][j]\) 表示\(x\) 被前 \(i\) 个数取模后答案最大,并且 \(j\) 为取得此答案的最大值 最后再对 ...
- #K-D Tree#洛谷 2093 [国家集训队]JZPFAR
题目 平面上有 \(n\) 个点.现在有 \(m\) 次询问,每次给定一个点 \((px, py)\) 和一个整数 \(k\), 输出 \(n\) 个点中离 \((px, py)\) 的距离第 \(k ...
- 成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统
成果展示 1.整体展示 2.碰一碰无感配网 3.报警 简介 目前,煤气泄漏给居民生活带来伤害的事情仍时有发生,但我相信万物互联能够有效避免这种伤害,于是我基于OpenHarmony设计了一款煤气检测装 ...
- MySQL学习路线一条龙
引言 在当前的IT行业,无论是校园招聘还是社会招聘,MySQL的重要性不言而喻. 面试过程中,MySQL相关的问题经常出现,这不仅因为它是最流行的关系型数据库之一,而且在日常的软件开发中,MySQL的 ...
- sql 语句系列(分割ip)[八百章之第十四章]
前言 单独列出的章节.因为用处比较多. mysql select SUBSTRING_INDEX(SUBSTRING_INDEX("192.168.1.1",".&quo ...
- MMDeploy部署实战系列【第一章】:Docker,Nvidia-docker安装
MMDeploy部署实战系列[第一章]:Docker,Nvidia-docker安装 这个系列是一个随笔,是我走过的一些路,有些地方可能不太完善.如果有那个地方没看懂,评论区问就可以,我给补充. 版权 ...
- 【Oracle】ORDER BY 2 DESC,1 ASC,同时对多个数据列进行不同的顺序排序&Oracle中的 (+)
最初想对 travelled_distance 降序排列 ,如果有两个或者更多的用户旅行了相同的距离, 那么再以 name 升序排列 然后就写了下面的 SELECT U.NAME name, NVL( ...
- 三端一体计算方案:Unify SQL Engine
简介: 本文将介绍数仓建设过程中面对三种计算模式,较低的研发效率.不可控的数据质量,以及臃肿数据接口服务的困境的解决方案. 背景 在漫长的数仓建设过程中,实时数仓与离线数仓分别由不同的团队进行独立建设 ...
- N个技巧,编写更高效 Dockerfile|云效工程师指北
简介:云原生时代下软件的构建和部署离不开容器技术.提到容器,几乎大家下意识都会联想到 Docker .而 Docker 中有两个非常重要的概念,一个是Image(镜像),一个是Container(容器 ...