数组重排序(如何将所有奇数都放在所有偶数前面)

问题描述:

数组重排序(如何将所有奇数都放在所有偶数前面)

这里介绍一种高效的能在O(n)时间复杂度内完成的算法.
核心思想是:定义两个指针,一个指针A从前往后扫描,一个指针B从后往前扫描.指针A扫描到偶数暂停,指针B扫描到奇数暂停,然后交换着两个数,交换之后继续如上述扫描和交换,直到指针A和指针B重合停止.
这个算法的Java代码如下: