JavaScript Array#sort() 函式使用哪種演算法?
Javascript 規範沒有指定 Array.sort 實現中使用的特定演算法。這留給實現者決定。因此不同的 JS 引擎使用不同的排序演算法。
Mozilla(Spider Monkey JS 引擎)使用歸併排序。你可以在 Mozilla 儲存庫中看到用 C 編寫的程式碼:https://dxr.mozilla.org/seamonkey/source/js/src/jsarray.c
WebKit(Chrome、Safari 等)不直接使用排序演算法,而是根據元素型別和陣列長度選擇演算法。例如,
數字陣列使用 C++ 標準庫的快速排序函式。
非數字陣列使用歸併排序。
在其他一些情況下,它使用選擇排序。
將使用哪種演算法來對陣列進行排序取決於陣列元素的資料型別和大小。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP