【快速排序】
1.开门见山

如上图,只要将所有元素都放到“正确的位置”,那么排序就算完成了。
2.介绍
核心思想是分治。分治分治,分而治之。
快速排序不稳定。但是它的另一个亲兄弟“归并排序”是稳定的。
何谓稳定性?
下图是个”不稳定“的例子

相同的两个元素,在经过排序后,它俩的相对位置不变,那么就称此排序算法具有稳定性。
3.核心代码图解

4.完整模板
void quick_sort(int a[],int l,int r){ int x=a[l+r>>1]; int i=l-1,j=r+1; if (l>=r) { return; } while(i<j) { do { i++; } while (a[i]<x); do { j--; } while (a[j]>x); if(i<j)swap(a[i],a[j]); } quick_sort(a,l,j); quick_sort(a,j+1,r); }
posted on 2023-04-11 23:53 ShinnyBlue 阅读(49) 评论(0) 收藏 举报
浙公网安备 33010602011771号