快速排序 (图片系网络查找)

本文详细介绍了快速排序算法的核心过程——切分。通过选取一个基准元素,并使用双指针法将数组分为两部分,使得一部分的元素都小于基准,另一部分都大于基准。此过程递归进行直至整个数组有序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

切分

在待排序的数组中,找到一个 标记元素可以是第一个(也可以简单的比较前几个元素的中间值,这样的取值在很多时候能够提高效率)

1:维护两个指针,第一个从左向右找到比他更大的值停止,第二个从右向左找到比他更小值停止(如果有找不到情况说明标记的元素是最大的一个,我们必须处理它)如果两个指针没有相遇,我们交换两个指针对应的元素,重复以上步骤,直到两个指针相遇,把标记元素插入重叠指针的左边。

2:这是在标记元素的左边的元素都是小于它的,右边都是大于它的,现在确定了第一个标记元素的位置,不在移动它,

3:左右两边重新定义一个标记元素,再冲重复以上步骤递归。直到数据有序。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值