这篇文章记录平时学习、项目中遇到的问题(未解决的居多)

本文探讨了快速排序中等号的作用,分析其对排序稳定性的影响,并通过一道求中位数的问题来验证等号在快排算法中的作用。

前言

这篇文章记录平时学习、项目中遇到的问题(未解决的居多)

快速排序的等号

维基百科的快排如下:

while (left < right) {
    while (arr[left] < mid && left < right)
        left++;
    while (arr[right] >= mid && left < right)
        right--;
    swap(left, right);
}

也就是小于“基准”(pivot)的在左半部分,大于等于基准的在右半部分。
个人理解,对于普通的数字排序的话,等号加不加影响不大,加不加等号快排都是不稳定的?

不过最近刷一道题:求中位数,想利用快排的思想,如果基准的位置恰好在中位数的位置,那么基准就是中位数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值