前言
这篇文章记录平时学习、项目中遇到的问题(未解决的居多)
快速排序的等号
维基百科的快排如下:
while (left < right) {
while (arr[left] < mid && left < right)
left++;
while (arr[right] >= mid && left < right)
right--;
swap(left, right);
}
也就是小于“基准”(pivot)的在左半部分,大于等于基准的在右半部分。
个人理解,对于普通的数字排序的话,等号加不加影响不大,加不加等号快排都是不稳定的?
不过最近刷一道题:求中位数,想利用快排的思想,如果基准的位置恰好在中位数的位置,那么基准就是中位数。