我想分区数组(例如[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
为什么就地?这有什么目的? –