问题描述:
输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分
void reOrder(int *a,int len) { if(a==NULL || len<=0) { return; } int start=0,end=len-1; while(start<end) { while(start<end && (a[start]&0x01)) { start++; } while(start<end && !(a[end]&0x01)) { end--; } if(start<end) { int temp=a[start]; a[start]=a[end]; a[end]=temp; } } }
扩展问题:
- 题目描述:
-
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。