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

请参见

参考

forward_list 类