美文网首页
TASK21:调整数组顺序使奇数位于偶数前面

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

作者: 三千米 | 来源:发表于2019-05-09 10:57 被阅读0次

    题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

    首先这是一个整数数组。奇数放在数组的前半部分,偶数放在数组的后半部分。

    所以设置两个指针,第一个指针P1指向数组的第一个元素,第二个指针P2指向数组的最后一个元素。

    p1只能向后移,p2只能向前移

    题目要求为奇数在偶数前面。这是分情况来考虑。

    1.p1指向为奇数。此时p1后移,直至遇到偶数。

    2.p2指向为偶数。此时p2前移,直至遇到奇数。

    故p1指向奇数,p2指向偶数。分别前移后移。

    p1指向偶数,p2指向奇数,交换p1,p2所指向的值。

    p1为奇数,p2为奇数,p1后移,p2不动

    p1为偶数,p2为偶数,p2前移,p1不动。

    当p2的位置在p1前面的时候,所有的奇数在偶数前面。

    相关文章

      网友评论

          本文标题:TASK21:调整数组顺序使奇数位于偶数前面

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