partition函数

本文详细探讨了C++标准库中`std::partition`函数的使用和原理,包括其在排序算法中的作用,如何根据谓词进行元素划分,并通过实例代码展示了如何在实际编程中应用`std::partition`来优化数据处理流程。
摘要由CSDN通过智能技术生成


前提
需要有一个用来进行对比的基准
partition函数是将一个数组分成三部分:
左部分:是<基准
中部分:是==基准
右部分:是>基准


left:左部分的右边界
index:中部分右边界的右边
right:右部分的左边界


遍历过程中,左部分和中部分一直是重合的,中部分和右部分的边界在努力的靠近并准备合并。


详细
当arr[index]<基准时,左部分需要扩充,即:swap(arr,++left,index++);
当arr[index]==基准时,中部分需要扩充,即index直接++;
当arr[index]>基准时,右部分需要扩充,但是因为right左边和index右边为模糊区域(不知道其中的元素和基准的
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值