输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序.
示例输入:
4 6 2 3 6 7 8 1处理过程:奇数位:4 2 6 8 升序排序结果: 2 4 6 8偶数位:6 3 7 1 降序排序结果: 7 6 3 1结果输出:2 7 4 6 6 3 8 1 demo:
import java.util.*; public class Main { public static void main(String args[]) { Scanner scan = new Scanner(System.in); String inStr = scan.nextLine(); scan.close(); String[] strs = inStr.split(" "); int N = strs.length; int[] inNums = new int[N]; for (int i = 0; i < N; i++) { inNums[i] = Integer.parseInt(strs[i]); // System.out.println(strs[i]); } int tmp = 0; //奇数位升序 for (int i = 0; i < N - 1; i = i + 2) { for (int j = i; j < N - 1; j = j + 2) { if (inNums[i] > inNums[j]) { tmp = inNums[i]; inNums[i] = inNums[j]; inNums[j] = tmp; } } } //偶数位降序 for (int i = 1; i < N - 1; i = i + 2) { for (int j = i; j < N - 1; j = j + 2) { if (inNums[i] < inNums[j]) { tmp = inNums[i]; inNums[i] = inNums[j]; inNums[j] = tmp; } } } for (int i = 0; i < N; i++) { System.out.print(inNums[i]); System.out.print(" "); } } }