奇偶排序的核心思想就是设置奇偶两个游标
export default (arr) => {
// 进行升序排序
arr.sort((a, b) => a - b)
// 声明一个空数组用来存储奇偶排序后的数组
let r = []
// 记录奇数、偶数位下标
let odd = 1
let even = 0
// 对数组进行遍历
arr.forEach(item => {
if (item % 2 === 1) {
r[odd] = item
odd += 2
} else {
r[even] = item
even += 2
}
})
return r
}
import sort from '../../code/sort/lesson1'
test('oddSort', () => {
expect(sort([4, 2, 5, 7, 1, 6])).toEqual([2, 1, 4, 5, 6, 7])
})