如:[1,2,3,4,5,6,7,8] => [1,7,3,5,4,6,2,8],讲奇数放在数组前面部分,偶数放在数组后面部分。
实现方法一:
var a = [1,2,3,4,5,6,7,8]; a.sort(function(x){ if(x % 2 === 0) return 1; });
实现方法二:
var a = [1,2,3,4,5,6,7],m = a.length; for(var i = 0; i < m; i++){ var t = a[i]; if(t % 2 === 0){ for(var j = m - 1; j > i; j--){ if(a[j] % 2 !== 0){ a[i] = a[j]; a[j] = t; m--; break; } } } }
方法二虽然实现了,但总是觉得有些冗余,而且跟方法一的结果有些出入,期待高人更优算法回复。。。