题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,
使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组
的后半部分.
输入格式:
输入样例:
1
10
1 2 3 4 5 6 7 8 9 10
输出样例:
1 9 3 7 5 6 4 8 2 10
#include<stdio.h>
#include<iostream>
using namespace std;
int main(){
int t;//t组输入
int n,tmp;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
int num[n];
for(int i=0;i<n;i++){
scanf("%d",&num[i]);
}
int p1=0,p2=n-1;
while(p1<p2){
while(p1<p2&&num[p1]%2==1){//找偶数
p1++;
}
while(p1<p2&&num[p2]%2==0){//找奇数
p2--;
}
tmp=num[p2];
num[p2]=num[p1];
num[p1]=tmp;
}
for(int j=0;j<n;j++){
printf("%d ",num[j]);
}
}
return 0;
}