设为首页 加入收藏

TOP

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

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

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

(4)set_difference( )

 

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

(5)set_symmetric_difference( )

 

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

5.使用堆

堆(heap)是一种常用的数据形式,具有这样特征:第一个元素是最大的。每当第一个元素被删除或添加了新元素时,堆都可能需要重新排列,以确保这一特征。设计堆是为了提高这两种操作的效率。

(1)make_heap( )

 

make_heap( )函数将[first, last)区间构造成一个堆。第一个版本使用<来确定顺序,而第二个版本使用comp比较对象。

(2)push_heap( )

  

push_heap( )函数假设[first, last - 1)区间是一个有效的堆,并将last - 1位置(即被假设为有效堆的区间后面的一个位置)上的值添加到堆中,使[first, last)区间成为一个有效堆。第一个版本使用<来确定顺序,而第二个版本使用comp比较对象。

(3)pop_heap( )

 

pop_heap( )函数假设[first, last)区间是一个有效堆,并将位置last - 1处的值与first处的值进行交换,使[first, last - 1]区间成为一个有效堆。第一个版本使用<来确定顺序,而第二个版本使用comp比较对象。

(4)sort_heap( )

  

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

评论

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

·常用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)