stl 容器排序

2、std::partial_sort

描述:
       排序一个范围的前N个元素。排序的前N个元素是整个范围的前N个元素。
       重排元素,使得范围 [first, middle) 含有范围 [first, last) 中已排序的 middle - first 个最小元素。
       用 operator< 比较元素。
       用给定的二元比较函数 comp 比较元素。

函数定义:

template< class RandomIt >
void partial_sort( RandomIt first, RandomIt middle, RandomIt last );

template< class RandomIt >
constexpr void partial_sort( RandomIt first, RandomIt middle, RandomIt last );

template< class RandomIt, class Compare >
void partial_sort( RandomIt first, RandomIt middle, RandomIt last,
                   Compare comp );

template< class RandomIt, class Compare >
constexpr void partial_sort( RandomIt first, RandomIt middle, RandomIt last,
                             Compare comp );

参数:
       first, last - 定义范围的随机访问迭代器
       middle - 定义要排序的末元素的随机访问迭代器
       comp - 比较函数对象(即满足比较 (Compare) 概念的对象),若第一参数小于(即先序于)第二参数则返回 ​true 。

示例:

int main()
{
	std::string s1 = "4258613597";
	std::string s2 = "4258613597";

	std::partial_sort(s1.begin(), s1.begin() + 5, s1.end());
	std::cout << s1 << std::endl;//1234586597

	std::partial_sort(s2.begin(), s2.begin() + 5, s2.end(), [](char c1,char c2) {return c1 > c2; });
	std::cout << s2 << std::endl;//9876512345
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值