0
已解决
李奕歌
初级天翼
初级天翼
题目描述 Description
现有一个长度为 n 的数组A,需要将数组A中的每一个元素进行排序得到一个新的数组B。
规则如下:(i初始值为1)
- 首先找出数组A中最大的一个元素,并将这个元素赋值给B[i],接着在数组A中将这个元素删去。
- 接下来找出数组A中最小的一个元素,并赋值给B[i+1],i++,接着在数组A中将这个元素删去。
- 循环执行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