设为首页 加入收藏

TOP

G.5.3 排序和相关操作(4)
2013-10-07 15:50:30 来源: 作者: 【 】 浏览:69
Tags:G.5.3 排序 相关 操作

G.5.3  排序和相关操作(4)

3.合并

合并函数假设区间是经过排序的。

(1)merge( )

 

merge( )函数将排序后的区间[first1, last1] 中的元素与排序后的区间[first2, last2] 中的元素进行合并,并将结果放到从result开始的区间中。目标区间不能与被合并的任何一个区间重叠。在两个区间中发现了等价元素时,第一个区间中的元素将位于第二个区间中的元素前面。返回值是合并的区间的超尾迭代器。第一个版本使用<来确定顺序,第二个版本使用比较对象comp。

(2)inplace_merge( )

 

inplace_merge( )函数将两个连续的、排序后的区间-[first, middle] 和[middle, last] -合并为一个经过排序的序列,并将其存储在[first, last] 区间中。第一个区间中的元素将位于第二个区间中的等价元素之前。第一个版本使用<来确定顺序,而第二个版本使用比较对象comp。

4.使用集合

集合操作可用于所有排序后的序列,包括集合(set)和多集合(multiset)。对于存储一个值的多个实例的容器(如multiset)来说,定义是广义的。对于两个多集合的并集,将包含较大数目的元素实例,而交集将包含较小数目的元素实例。例如,假设多集合A包含了字符串"apple"7次,多集合B包含该字符串4次。则A和B的并集将包含7个"apple"实例,它们的交集将包含4个实例。

(1)includes( )

 

如果[first2, last2)区间中的每一个元素在[first1, last1)区间中都可以找到,则includes( )函数返回true,否则返回false。第一个版本使用<来确定顺序,而第二个版本使用比较对象comp。

(2)set_union( )

 

set_union( )函数构造一个由[first1, last1]区间和[first2, last2] 区间组合而成的集合,并将结果复制到result指定的位置。得到的区间不能与原来的任何一个区间重叠。该函数返回构造的区间的超尾迭代器。并集包含在任何一个集合(或两个集合)中出现的所有元素。第一个版本使用<来确定顺序,而第二个版本使用比较对象comp。

(3)set_intersection( )

 


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇G.5.3 排序和相关操作(5) 下一篇G.5.3 排序和相关操作(3)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)