题目:给定一个存放正数的数组,元素个数视输入情况而定,重新排列数组使得数组左边为奇数,右边为偶数,且保证奇数和偶数之间元素相对位置不变。
输入:输入由多组测试数据组成。第一行输入一个整数t,表示测试数据的组数。输入字符串的格式为:“操作数1 操作数2 … 操作数n”,“操作数”与“操作数”之间以一个空格隔开。
输出:输出有t行,每行依次对应一组测试数据的运算结果。
import java.util.Scanner;
public class OddEvenSort {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String s=scan.nextLine();
int count=Integer.parseInt(s);
String[] arr=new String[count];
for(int i=0;i<arr.length;i++){
String str=scan.nextLine();
arr[i]=getStrArr(str);
}
//输出结果
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
//奇数在前,偶数在后
private static String getStrArr(String str){
String[] strArr=str.split(" ");
String reStr="";
//奇数
for(int i=0;i<strArr.length;i++){
if(Integer.parseInt(strArr[i])%2==1){
reStr=reStr+strArr[i]+" ";
}
}
//偶数
for(int i=0;i<strArr.length;i++){
if(Integer.parseInt(strArr[i])%2==0){
reStr=reStr+strArr[i]+" ";
}
}
return reStr;
}
}