问题标题: 酷町堂:6848 数组排序

0
0
已解决
李奕歌
李奕歌
初级天翼
初级天翼

题目描述 Description

现有一个长度为 n 的数组A,需要将数组A中的每一个元素进行排序得到一个新的数组B。
规则如下:(i初始值为1)

  1. 首先找出数组A中最大的一个元素,并将这个元素赋值给B[i],接着在数组A中将这个元素删去。
  2. 接下来找出数组A中最小的一个元素,并赋值给B[i+1],i++,接着在数组A中将这个元素删去。
  3. 循环执行1,2这两步,直至数组A中的元素都被删去。

现在给出数组A的长度 n 和每个元素,请你设计程序输出数组B

输入描述 Input Description

第一行:输入一个数 n
接下来的 n ,每行输入一个数A[i]

输出描述 Output Description

输出数组B,每个元素换行隔开

样例输入 Sample Input

5 10 -1 3 3 -9

样例输出 Sample Output

10 -9 3 -1 3

数据范围及提示 Data Size & Hint

数据范围:
1<=n<=1000
-2147483648<=A[i]<=2147483647


0
已采纳
朱小川
朱小川
缔造者
缔造者

for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ for(int j=i+1;j<=n;j++){ if(a[i]<a[j]){ swap(a[i],a[j]); } } } int i=1,j=n,k=1; while(1){ b[k]=a[i]; k++; i++; b[k]=a[j]; k++; j--; if(i>j) break; } for(int i=1;i<=n;i++){ cout<<b[i]<<endl; }

其他自己搞

0
0
李奕歌
李奕歌
初级天翼
初级天翼

@朱小川 @朱小川 

@朱小川 @朱小川 

0
李奕歌
李奕歌
初级天翼
初级天翼

@朱小川 2195:

int x=1,n;
    cin>>n;
    for(int i=1;i<=n-1;i++) x=2*x+1;
    cout<<x;

 

我要回答