题意:根据数字前后2个值的差值的绝对值排序
思路:sort从小到大排序一遍,之后从中间开始取值左一个右一个输出,离得越远的差值越大
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main()
{
int t;cin>>t;
while(t--)
{
int n;cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
int l,r;
if(n%2==1)
{
cout<<a[n/2+1]<<" ";
l=n/2;r=n/2+2;
}
else
{
l=n/2;
r=n/2+1;
}
while(l>=1&&r<=n)
{
cout<<a[l]<<" "<<a[r]<<" ";
l--;
r++;
}
cout<<endl;
}
}