我想分區數組(例如[1,2,3,4,5,6,7,8]
),第一個分區應該保持偶數值,第二個奇數值(例如結果:[2,4,6,8,1,3,5,7]
)。如何將整數數組分爲偶數和奇數?
我設法用內置的Array.prototype
方法解決了這個問題兩次。第一種解決方案使用map
和sort
,僅次於sort
。
我想作出第三個解決方案,它使用排序算法,但我不知道什麼算法用於分區列表。我正在考慮冒泡排序,但我認爲它在我的第二個解決方案(array.sort((el1, el2)=>(el1 % 2 - el2 % 2))
)中使用...我查看了quicksort
,但是我不知道在整數是偶數還是奇數的情況下應用檢查的位置......
什麼是最好的(線性縮放與數組增長)算法來執行這樣的任務就地保持順序的元素?
任何類型最好是'O(nlogn)',所以如果你想線性縮放,那些不是最好的選擇 – frozen
'sort' ???你有沒有嘗試過使用'filter'? – Bergi
爲什麼就地?這有什麼目的? –