面试题12:调整数组顺序使奇数位于偶数前

2015-11-21 01:27:47 · 作者: · 浏览: 9

?

?

思路:


1. 设置两个指针,初始状态第一指针指向数组的第一个数,第二个指针指向数组的最后一个数;

2. 若第一个指针指向的数是奇数,则指针向右移动一位,第二个指针指向的数是偶数,则指针向左移动;

3. 若第一个指针和第二个指针指向的数恰好分别为偶数和奇数,则交换数字。

代码:

?

#include "stdafx.h"   
#include    
using namespace std;  
  
void ReorderOddEven(int *nArr, int nLength)  
{  
    if (nArr != NULL && nLength > 0)  
    {  
        int low = 0;  
        int high = nLength -1;  
  
        while (low < high)  
        {  
            while ((low
using namespace std;

void ReorderOddEven(int *nArr, int nLength)
{
	if (nArr != NULL && nLength > 0)
	{
		int low = 0;
		int high = nLength -1;

		while (low < high)
		{
			while ((low 
 

?