摘要:冒泡排序方法一测试代码运行时间,开始开始方法二链接描述选择排序插入排序错误示范需要改为,因为需要从右到左一直进行大小比较,然后插入,再比较插入正确代码借鉴自链接描述微信公众号天字一等
冒泡排序
方法一:
function buble(arr){ for(var i =0;i < arr.length;i++){ for(var j = 0;j < arr.length;j++){ if(arr[i] < arr[j]){ var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; } //测试代码运行时间,console.time()、console.timeEnd() console.time("开始") buble([2,1,3,5,4,7,3,3,3,3,6,3,4,7,2,3,7,8,9,6,343,62,64,63,2]); console.timeEnd("开始")
方法二:
[链接描述][1] var arr = [1,3,20,5,2,9,6,4,80,9,4]; var arrLength = arr.length; for(var i=0;iarr[j+1]){ var temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } console.log(arr);
选择排序
function select(arr){ for(var i = 0;i < arr.length;i++){ for(var j = i;j < arr.length;j++){ if(arr[i] > arr[j]){ var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; } select([1,3,20,5,2,9,6,4,80,9,4]);
插入排序
错误示范: function select(arr){ for(var i = 1;i < arr.length;i++){ for(var j = i;j > 0;j--){ //i需要改为j,因为需要从右到左一直进行大小比较,然后插入,再比较插入 if(arr[i] < arr[j-1]){ var temp = arr[i]; arr[i] = arr[j-1]; arr[j-1] = temp; } } } return arr; } select([1,3,20,5,2,9,6,4,80,9,4]); 正确代码: function select(arr){ for(var i = 1;i < arr.length;i++){ for(var j = i;j > 0;j--){ if(arr[j] < arr[j-1]){ var temp = arr[j]; arr[j] = arr[j-1]; arr[j-1] = temp; } } } return arr; } select([1,3,20,5,2,9,6,4,80,9,4]);
借鉴自:
链接描述
微信公众号:天字一等
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/105465.html
摘要:上一篇数据结构与算法树写在前面这是学习数据结构与算法的最后一篇博客,也是在面试中常常会被问到的一部分内容排序和搜索。 上一篇:JS数据结构与算法_树 写在前面 这是《学习JavaScript数据结构与算法》的最后一篇博客,也是在面试中常常会被问到的一部分内容:排序和搜索。在这篇博客之前,我每每看到排序头就是大的,心里想着类似冒泡排序,两层遍历啪啪啪就完事了,然后再也无心去深入研究排序相...
摘要:介绍排序算法是算法中最常见的算法之一,我这里要介绍的是排序算法中的三种基本算法冒泡排序选择排序插入排序,在文章的后面我会对三种算法的速度进行对比。 1.介绍 排序算法是算法中最常见的算法之一,我这里要介绍的是排序算法中的三种基本算法:冒泡排序、选择排序、插入排序,在文章的后面我会对三种算法的速度进行对比。 2.冒泡排序 冒泡排序其名来源与其算法实现,会使得数组中的元素一个个从数组一端漂...
摘要:本文对一些排序算法进行了简单分析,并给出了的代码实现。平均时间复杂度不好分析,它是冒泡排序是稳定的排序算法。冒泡排序是原地排序算法原地排序指的是空间复杂度是的排序算法。归并排序,会将数组从中间分成左右两部分。 本文对一些排序算法进行了简单分析,并给出了 javascript 的代码实现。因为本文包含了大量的排序算法,所以分析不会非常详细,适合有对排序算法有一定了解的同学。本文内容其实不...
本篇有7k+字, 系统梳理了js中常见的12种排序算法。除了基本排序算法,文章还包含了希尔排序、堆排序、桶排序等较为复杂的排序实现,如果喜欢请点赞支持~谢谢. 原文: http://louiszhai.github.io/20... 导读 排序算法可以称得上是我的盲点, 曾几何时当我知道Chrome的Array.prototype.sort使用了快速排序时, 我的内心是奔溃的(啥是快排, 我只知道...
阅读 2613·2023-04-25 15:22
阅读 2797·2021-10-11 10:58
阅读 959·2021-08-30 09:48
阅读 1777·2019-08-30 15:56
阅读 1697·2019-08-30 15:53
阅读 1046·2019-08-29 11:16
阅读 1022·2019-08-23 18:34
阅读 1603·2019-08-23 18:12