题目描述
输入n组测试数据,从小到大排序.
输入
输出
样例输入
2
3
3 6 5
4
8 5 9 7
样例输出
3 6 5
5 7 8 9
提示
(1 <= n <= 100000)
#include <iostream>
using namespace std;
int a[100000];
void paixu(int le,int ri)
{
int l=le,r=ri;
int t=a[(le+ri)/2];
while(l<=r)
{
while(a[l]<t) l++; //a[l]>=t时停止
while(a[r]>t) r--;
if(l<=r)
{
swap(a[l],a[r]); //值交换
l++;r--; //下一位
}
} //结束时 r在l左一位
if(le<r) paixu(le,r); //分别排序
if(l<ri) paixu(l,ri);
}
int main()
{
int k;cin>>k;
while(k--)
{
int n;cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
paixu(0,n-1);
cout<<a[0];
for(int i=1;i<

该博客主要介绍了如何处理HUSTOJ2496编程题,内容涉及对100000个数进行排序的算法实现,可能是快速排序或归并排序。文章提供了题目的详细描述,输入输出格式以及样例,旨在帮助读者理解和解决大规模数据排序问题。
最低0.47元/天 解锁文章
195

被折叠的 条评论
为什么被折叠?



