调整数组顺序使奇数位于偶数前面(使用辅助数组,C语言)

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

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

使用辅助数组,双指针,遍历一遍数组即可

int* reOrderArray(int* array, int arrayLen, int* returnSize ) {
    // write code here
    int *result = (int*)malloc(arrayLen*sizeof(int));
    int *head = result;
    int *tail = result + arrayLen - 1;

    for(int i = 0; i < arrayLen; ++i)
    {
        if (array[i] % 2 == 1) *head++ = array[i];   //从前往后找奇数,放到result
        if (array[arrayLen-1-i] % 2 == 0) *tail-- = array[arrayLen-1-i];   //从后往前找偶数
    }

    *returnSize = arrayLen;
    return result;
}
全部评论

相关推荐

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