实现函数来调整数组中数字的顺序,奇数位于数组前半部分,偶数位于数组的后半部分,保证奇偶相对位置不变。

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

http://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593

遇到奇数,先记住此奇数n,整体往后移位。奇数n从0(j)位开始覆盖;........。(往后移的开始位置为j)

void reOrderArray(vector<int> &array) {
        int size = array.size();
        int i = 0, j = 0, a = 0;
        int tmp = 0;
        for (i=0; i<size; i++)
        {
                if(array[i]%2)
                {
                        tmp = array[i];
                        a = i;
                        while(j<a)
                        {
                                array[a] = array[a-1];
                                a--;
                        }
                        array[j] = tmp;
                        j++;
                }
        }
    }
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务