调整数组顺序使奇数位于偶数前面

调整数组顺序使奇数位于偶数前面

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;
}
全部评论

相关推荐

我是小红是我:学校换成中南
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务