调整数组顺序使奇数位于偶数前面
调整数组顺序使奇数位于偶数前面
http://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593
题目要求
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
javascript 实现
方法一 遍历一遍数组,用两个数组分别存奇数和偶数,最后合并
function reOrderArray(array) { var odd=new Array(); var even=new Array(); for(var i=0;i<array.length;i++){ if(array[i]%2==0){ even.push(array[i]) } else{ odd.push(array[i]) } } return odd.concat(even) }
方法二:插入排序实现
function reOrderArray(array){ var pos=0,i,j,temp; for(i=0;i<array.length;i++){ if(array[i]%2==1){ temp=array[i] j=i; while(j>pos){ array[j]=array[j-1]//后移 j--; } array[pos]=temp; pos++; } } return array; }