基于js 各种排序方法和sort方法的区别(详解)

前端之家收集整理的这篇文章主要介绍了基于js 各种排序方法和sort方法的区别(详解)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天突发奇想,想明白sort方法是否比各种排序都有优势,所以就参考别人的代码,做了一个测试,结果令人惊讶啊,上代码

<Meta charset="UTF-8"> <Meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"> <a href="/tag/tupian/" target="_blank" class="keywords">图片</a>列表<a href="/tag/shengcheng/" target="_blank" class="keywords">生成</a>交互组件

上面的方法通过测试时间,然后分析哪个排序方法省时,时间就是生命,用对正确的方法,就能省下好多时间,尤其是大数据运行的时候。

首先看运行处理10000个长度数组时的所用的时间:

* sort排序 systemSort 11 * 冒泡排序 bubbleSort 169 * 快速排序 quickSort 144 * 插入排序 insertSort 139 * 希尔排序 shellSort 3

测试十万长的数组数据:

* sort排序 systemSort 63 * 冒泡排序 bubbleSort 16268 * 快速排序 quickSort 直接报错 * 插入排序 insertSort 13026 * 希尔排序 shellSort 8

测试一百万的长度的数组:

* sort排序 systemSort 575 * 冒泡排序 bubbleSort 时间未知 * 快速排序 quickSort 直接报错 * 插入排序 insertSort 直接崩溃 * 希尔排序 shellSort 93

测试一千万长的数组:

* sort排序 systemSort 7039 * 冒泡排序 bubbleSort 没测 * 快速排序 quickSort 没测 * 插入排序 insertSort 没测 * 希尔排序 shellSort 1225

测试一亿长的数组:

* sort排序 systemSort 直接崩溃 * 冒泡排序 bubbleSort 没测 * 快速排序 quickSort 没测 * 插入排序 insertSort 没测 * 希尔排序 shellSort 19864

最后通过测试,

在最坏的情况下

,发现希尔排序还是最好,竟然比系统的sort排序都快,确实令人惊讶,大家这样就能看出来在什么情况需要使用什么方法进行排序了吧

然后我们进行随机情况进行测试:

<Meta charset="UTF-8"> 快速排序 quickSort * 插入排序 insertSort * 希尔排序 shellSort * * */ test("systemSort",testArrs); //test("bubbleSort",testArrs); //test("quickSort",testArrs); test("insertSort",testArrs); test("shellSort",testArrs);

测试一千万长的数组:

* sort排序 systemSort 8842 * 冒泡排序 bubbleSort 没测 * 快速排序 quickSort 没测 * 插入排序 insertSort 45 * 希尔排序 shellSort 1133

在未知的情况和比较好的情况下,插入排序的效率最高

以上这篇基于js 各种排序方法和sort方法的区别(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

猜你在找的JavaScript相关文章