输入一个非负整数数组A,该数组中一半整数是奇数,一半整数是偶数。
对数组进行排序,以便A[i]为奇数时,i也是奇数,当A[i]为偶数时,i也是偶数。
偶数和奇数均按照从小到大的顺序排列
输入格式:
第一行输入一个数N,代表输入的数的个数(N%2==0)
第二行输入N个非负整数
输出格式:
输出一行排序后的数组,且末尾不包含空格
输入样例:
在这里给出一组输入。例如:
4
4 2 5 7
输出样例:
在这里给出相应的输出。例如:
2 5 4 7
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int array[] = new int[n];
int odd[] = new int[n/2],even[] = new int[n/2];
for (int i = 0; i < n; i++) {//赋值
array[i] = in.nextInt();
}
for (int i = 1; i < array.length; i++) {//插入排序
int j = i-1;
int value = array[i];
for (; j >= 0; j--){
if(value<array[j]){
array[j+1] = array[j];
}else{
break;
}
}
array[j+1] = value;
}
int j = 0,k = 0;
for (int i = 0; i < array.length; i++) {//两个数组分别接收奇数和偶数
if(array[i]%2==0){
odd[j++] = array[i];
}
if(array[i]%2!=0){
even[k++] = array[i];
}
}
for(int i = 0; i <array.length/2; i++){//输出
if(i==0){
System.out.print(odd[i]+" "+even[i]);
}else{
System.out.print(" "+odd[i]+" "+even[i]);
}
}
}
}