提交记录 18075


用户 题目 状态 得分 用时 内存 语言 代码长度
liubf21 1001. 测测你的排序 Compile Error 0 0 ns 0 KB C++ 511 B
提交时间 评测时间
2022-10-07 17:11:05 2022-10-07 17:11:06
#include <algorithm>
T[1e8];
void merge_sort(int *A,int x,int y,int *T) // 从x到y排序(左闭右开)
{
    if(y-x>1){
        int m=x+(y-x)/2; // 划分
        int p=x,q=m,i=x;
        merge_sort(A,x,m,T); // 递归求解
        merge_sort(A,m,y,T);
        while(p<m||q<y){ // p和q相当于两个指针
            if(q>=y||(p<m&&A[p]<=A[q])) // 加入左半数组的两种情况
                T[i++]=A[p++]; 
            else T[i++]=A[q++];
        }
        for(i=x;i<y;i++)A[i]=T[i]; // 从辅助空间复制回A数组
    }
}
void sort(unsigned *a, int n) {
	merge_sort(a, 0, n,T);
}

CompilationN/AN/ACompile ErrorScore: N/A


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