将两个排序顺序到线性时间的单个排序序列。从中移除元素参数列表和插入到此 forward_list中。两个列表应由同一排序在调用之前比较函数对象。merge。组合列表将由该排序比较函数对象。
void merge(forward_list& _Right);
template<class Predicate>
void merge(forward_list& _Right, Predicate _Comp);
参数
Parameter |
说明 |
---|---|
_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