//给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
//要求:空间复杂度O(1),时间复杂度为O(n)
#include<cstdlib>
#include<iostream>
using namespace std;
void reform(int (&arr)[6])
{
int size=sizeof(arr)/sizeof(int);
int left=0,right=size-1;
while(left<right)
{
while(arr[left]%2 == 1 && left<right) ++left;
while(arr[right]%2 ==0 && left<right) --right;
swap(arr[left],arr[right]);
}
}
void main()
{
int a[]={1,2,3,4,5,6};
reform(a);
for(int i=0;i<6;i++)
{
cout<<a[i]<<" ";
}
system("pause");
}
4.给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
最新推荐文章于 2022-08-12 15:55:21 发布