#include<stdio.h>
#define N 5
void re(int *pData,unsigned int length){
int tmp;
int *pBegin;
int *pEnd;
unsigned int i;
if(pData == NULL || length == 0){
return;
}
pBegin = pData;
pEnd = pData+length-1;
while(pBegin<pEnd){
while(pBegin<pEnd&&(*pBegin&0x1) != 0){
pBegin++;
}
while(pBegin<pEnd&&(*pEnd&0x1) == 0){
pEnd--;
}
if(pBegin<pEnd){
tmp = *pBegin;
*pBegin = *pEnd;
*pEnd = tmp;
}
}
for(i =0 ;i<length;i++){
printf("%d",*(pData+i));
}
}
int main(){
int a[N];
int i = 0;
for(i=0;i<N;i++){
a[i] = i+1;
}
for(i = 0;i<N;i++){
printf("%d",*(a+i));
}
printf("\n");
re(a,N);
}
#define N 5
void re(int *pData,unsigned int length){
int tmp;
int *pBegin;
int *pEnd;
unsigned int i;
if(pData == NULL || length == 0){
return;
}
pBegin = pData;
pEnd = pData+length-1;
while(pBegin<pEnd){
while(pBegin<pEnd&&(*pBegin&0x1) != 0){
pBegin++;
}
while(pBegin<pEnd&&(*pEnd&0x1) == 0){
pEnd--;
}
if(pBegin<pEnd){
tmp = *pBegin;
*pBegin = *pEnd;
*pEnd = tmp;
}
}
for(i =0 ;i<length;i++){
printf("%d",*(pData+i));
}
}
int main(){
int a[N];
int i = 0;
for(i=0;i<N;i++){
a[i] = i+1;
}
for(i = 0;i<N;i++){
printf("%d",*(a+i));
}
printf("\n");
re(a,N);
}