Description
输入一串数,按最大最小最大最小输出
Algorithm
排序,两个指针i,j指向头和尾,每次I++,j–,再特别处理n为偶数的情况
Code
import java.util.Arrays;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
while (cin.hasNext())
{
int n = cin.nextInt();
int a[] = new int[n];
for (int i = 0; i < n; i++)
a[i] = cin.nextInt();
Arrays.sort(a);
System.out.print(a[n - 1]);
int j = n - 2;
for (int i = 0; i < j; i++, j--)
{
System.out.printf(" %d", a[i]);
System.out.printf(" %d", a[j]);
}
if (n % 2 == 0) System.out.printf(" %d", a[n / 2 - 1]);
System.out.println("");
}
}
}
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 20000;
int main()
{
int n;
while (scanf("%d", &n) != EOF)
{
int a[maxn];
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
sort(a, a+n);
printf("%d", a[n-1]);
int j;
for (int i = 0, j = n - 2; i < j; i++, j--)
{
printf(" %d", a[i]);
printf(" %d", a[j]);
}
if (n % 2 == 0) printf(" %d", a[n/2 - 1]);
printf("\n");
}
return 0;
}