c_cpp 以最大最小形式重新排列数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 以最大最小形式重新排列数组相关的知识,希望对你有一定的参考价值。
/*
http://ideone.com/QqIPO2
http://www.practice.geeksforgeeks.org/problem-page.php?pid=408
http://qa.geeksforgeeks.org/6604/rearrange-an-array-in-maximum-minimum-form
*/
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
int t, n;
cin >> t;
while(t--){
cin >> n;
int a[101], temp[101];
for(int i=0; i<n; i++)
cin >> a[i];
int i=0, j=n-1;
int idx = 0;
while(i<j){
temp[idx++] = a[j];
temp[idx++] = a[i];
j--;
i++;
}
if(n & 1)
temp[idx++] = a[i];
for(int i=0; i<n; i++){
a[i] = temp[i];
}
for(int i=0; i<n; i++){
cout << a[i];
cout << ((i==n-1) ? "\n" : " ");
}
}
return 0;
}
以上是关于c_cpp 以最大最小形式重新排列数组的主要内容,如果未能解决你的问题,请参考以下文章
通过重新排列数组来最大化数组绝对差的总和
c_cpp 使用最少比较次数的数组的最大值和最小值
c_cpp 使用最少比较次数的数组的最大值和最小值
c_cpp 使用分而治之的方法查找未排序数组中的最小值和最大值
从最小堆切换到最大堆而不重新排列内部数组
LeetCode31. 下一个排列