我想对数组进行分区(例如[1,2,3,4,5,6,7,8]
),第一个分区应保留偶数值,第二个分区应保留奇数值(结果示例:[2,4,6,8,1,3,5,7]
).
我设法用内置解决了这个问题两次Array.prototype
方法。第一个解决方案使用map
and sort
,仅第二sort
.
我想制作第三个使用排序算法的解决方案,但我不知道使用什么算法来分区列表。我正在考虑冒泡排序,但我认为它用在我的第二个解决方案中(array.sort((el1, el2)=>(el1 % 2 - el2 % 2))
)... 我在看quicksort https://www.nczonline.net/blog/2012/11/27/computer-science-in-javascript-quicksort/,但我不知道在哪里应用检查整数是偶数还是奇数......
在保持元素顺序的情况下就地执行此类任务的最佳算法(通过数组增长进行线性缩放)是什么?