快速排序.txt
来自「资深C++讲师授课代码」· 文本 代码 · 共 29 行
TXT
29 行
inline void swap(int& x, int& y)
{
int t=x;
x = y;
y = t;
}
void sort(int* a, int n)
{
if(n<=1) return;
if(n==2){
if(a[1]<a[0]) swap(a[1], a[0]);
return;
}
swap(*a, a[n/2]);
int* lp = a+1;
int* rp = a+(n-1);
int pivot = *a;
while(lp<rp){
while(lp<rp&&*lp<pivot) ++lp;
while(a<rp&&*rp>=pivot) --rp;
if(lp<rp) swap(*lp, *rp);
}
swap(*a, *rp);
sort(a, rp-a);
sort(rp+1, n-1-(rp-a));
}
bash-2.05$
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?