奇偶数分类输出

         任意输出一个数组,然后将数字分别按奇偶数分类,其中奇数从小到大排序,偶数从大到小排序,接着奇偶两个数组交叉输出,并且第一个输出的必须是奇数。
         当奇偶数组有一个数组输出完,就把另一个数组剩下的数字直接输出。

         例如输入0 3 6 9 15 47 24输出为3 24 9 6 15 0 47
         

                Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int[] a = new int[n];
		for (int i = 0; i < n; i++)
			a[i] = in.nextInt();
		Arrays.sort(a);
		int m = 0, z = 0;
		for (int i = 0; i < n; i++) {
			for (int j = m; j < n; j++) {
				if (a[j] % 2 != 0 && a[j] != 0) {
					System.out.print(a[j] + "\t");
					m = j+1;
					break;
				} 
			}
			for (int j = z; j < n; j++)
				if (a[n - 1 - j] % 2 == 0) {
					System.out.print(a[n - 1 - j] + "\t");
					z = j+1;
					break;
				} 
		}

 

你可能感兴趣的:(算法)