转换数组使奇数位为奇数 偶数位为偶数

设定 odd even两个标志位为odd为1,even为0,然后从最后一位开始看,如果说最后一位为偶数,就和even位交换,even自增2,如果是奇数,则和odd位交换,odd自增2,一直到二者其中一个越界位置。   解法比较奇特。

#include
#include 
#include 
using namespace std;
//改变数组,令其奇数位置存储奇数,偶数位置存储偶数
//要求空间复杂度为O(1),时间复杂度为O(n)
int a[]={9,6,5,4,3,2,1,8};
void ChangeArray(int len)
{
   int end=a[len-1];
   int even=0;
   int odd=1;
   while(even


你可能感兴趣的:(面试题目杂集)