📄 qsort.h
字号:
template<class Elem,class Comp>
void qsort(Elem A[],int i,int j) {
if(j<=1) return;
int pivotindex=findpivot(A,i,j);
swap(A,pivotindex,j);
int k=partition<Elem,Comp>(A,i-1,j,A[j]);
swap(A,k,j);
qsort<Elem,Comp>(A,i,k-1);
qsort<Elem,Comp>(A,k+1,j);
}
template <class Elem>
int findpiod(Elem A[],int i,int j){
return (i+j)/2;
}
template<class Elem,class Comp>
int partition(Elem A[],int l,int r,Elem& pivot) {
do{
while(Comp::lt(A[++1],pivot));
while(r!=0)&&(Comp::gt(A[--r],pivot));
swap(A,l,r);
}while(l<r);
swap(A,l,r);
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -