forward_list::merge
组合两个排序序列到单个订单的序列将以线性时间。 从参数列表中移除元素,并将这些类插入此 forward_list。 应由同一排序两个列表的调用之前比较函数对象为 merge。 合并了列表将按该顺序比较函数对象。
void merge(forward_list& _Right);
template<class Predicate>
void merge(forward_list& _Right, Predicate _Comp);
参数
参数 |
说明 |
---|---|
_Right |
合并的正向列表。 |
_Comp |
元素用于排序的比较函数对象。 |
备注
forward_list::merge 从 forward_list_Right, 中移除元素并将这些类插入此 forward_list。 必须用同一谓词对两个序列,在下面进行了介绍。 合并的序列由该顺序还比较函数对象。
对于迭代器指定元素的 Pi 和 Pj 位置。i 和 j,则第一个成员函数会对 !(*Pj < *Pi) 排序,每当 i < j。(元素在 ascending 中的排序顺序。)第二个成员函数会对 !_Comp(*Pj, *Pi) 排序,每当 i < j。
对原始序列在控件的元素在生成的控制序列不会撤消。 如果一对在生成的序列的元素控制比较等号 (!(*Pi < *Pj) && !(*Pj < *Pi)),控制从原始序列的元素在自的元素之前出现顺序控制的 _Right。
仅引发 _Comp 异常,则引发异常。 在此情况下,控制在序列未指定顺序保留,而异常是异常。
要求
标头: <forward_list>
命名空间: std