當前位置:成語大全網 - 新華字典 - js sort原理

js sort原理

js提供了sort方法,方便對數組進行排序,然而不同引擎對js的sort方法解析可能存在差異。本文基於v8引擎進行分析。

在v8引擎中,對sort方法提供了2種排序算法:插入排序及快排序。

sort使用方法:

當沒有參數傳入的時候,其排序順序默認為,將待排序數據轉換為字符串,並按照 Unicode 序列排序;當然,比較函數可以自定義,自定義排序函數需要返回值,其返回值為 -1,0,1 ,分別表示 a<b, a=b, a>b.

當數組長度小於等於10的時候,采用插入排序,大於10的時候,采用快排。

對於長度大於1000的數組,采用的是快排與插入排序混合的方式進行排序的,因為,當數據量很小的時候,插入排序效率優於快排。

快排的平均時間復雜度是nlogn,在排序算法中屬於效率最高的。快排是壹種不穩定的排序算法,但是壹般情況下穩定或者不穩定對我們沒有特別大的影響,但是對穩定性要求高的排序,就不能使用快排了。

原文: /p/33626637