c++编译时排序

csdn晚上9点后文章就要审核了,通不过.

#include <常用>

元<整...N>构 排呀{
    元<整 x>静 常式 整 大(){中((x>N)+...);}
    //x大于所有数的个数
    元<整 x>静 常式 整 数(){中((x==N)+...);}
    //数为与所有数相同的数
    //第i个应该取第i大的
    //45,35,43,46,第1个项,取第几个数,1,我排第2位,谁排第1,
    元<整 i>静 常式 动 J(){//i应该是排名
        整 R=0;
        ((i>=大<N>()&&i<大<N>()+数<N>()?R=N:0),...);
        中 R;
    }//i为第几个,就取出来//在这之间的都是N
    常式 静 动 排序(){
        常式 整 B=型长...(N);型名 造序<B>::型 p;
        中 排序(p);
    }//这里后面的型名写成型长了,结果编译不过

    元<整...I>常式 静 动 排序(序列<I...>&a){
        中 序列<J<I>()...>();
    }//I为1,2,...
};

元<整...N>
常式 动 排序(){中 排呀<N...>::排序();}

空 主(){
    打印<45,34,34,66>();
    打印序列(排序<45,34,34,66>());
}

posted @ 2020-02-01 15:37  zjh6  阅读(28)  评论(0)    收藏  举报  来源