美文网首页
剑指Offer-面试题21

剑指Offer-面试题21

作者: 一路向北gs | 来源:发表于2020-06-29 21:35 被阅读0次

    题目描述:

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分

    主要实现代码:

    void ReorderOddEvent(int* pData, unsigned int length){

            if(pData == NULL || length <= 0){

                return;

            }

            int *begin = pData;

            int *end = pData + length - 1;

            while(begin < end){

                // 向后移动pBegin,直到它指向偶数

                while(begin < end && (*begin % 2) != 0){

                begin++;

            }

            // 向前移动pEnd,直到它指向偶数

            while(begin < end && (*end % 2) == 0){

                end--;

            }

            if(begin < end){

                int temp = *begin;

                *begin = *end;

                *end = temp;

            }

        }

    }

    相关文章

      网友评论

          本文标题:剑指Offer-面试题21

          本文链接:https://www.haomeiwen.com/subject/vqoafktx.html