提交记录 18084


用户 题目 状态 得分 用时 内存 语言 代码长度
liubf21 1001a. 测测你的排序2 Accepted 100 558.81 us 48 KB C++ 535 B
提交时间 评测时间
2022-10-07 19:07:06 2022-10-07 19:07:08
#include <algorithm>
using namespace std;
	void qsort(unsigned *a,int l,int r)//从l到r(闭区间)
	{
	    unsigned mid=a[(l+r)/2];//中间数
	    int i=l,j=r;
	    do{
	        while(a[i]<mid) i++;//查找左半部分比中间数大的数
	        while(a[j]>mid) j--;//查找右半部分比中间数小的数
	        if(i<=j)//如果有一组不满足排序条件(左小右大)的数
	        {
	            swap(a[i],a[j]);//交换
	            i++;
	            j--;
	        }
	    }while(i<=j);//这里注意要有=
	    if(l<j) qsort(a,l,j);//递归搜索左半部分
	    if(i<r) qsort(a,i,r);//递归搜索右半部分
	}
void sort(unsigned *a, int n) {
	qsort(a, 0, n-1);
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1558.81 us48 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-16 12:32:46 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠