|
| template<typename Iterator1, typename Iterator2, typename Iterator3, typename Compare> |
| constexpr Iterator3 | neforce::merge (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2, Iterator3 result, Compare comp) |
| | 合并两个已排序序列
|
| template<typename Iterator1, typename Iterator2, typename Iterator3> |
| constexpr Iterator3 | neforce::merge (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2, Iterator3 result) |
| | 合并两个已排序序列
|
| template<typename Iterator, typename Compare> |
| constexpr void | neforce::inplace_merge (Iterator first, Iterator middle, Iterator last, Compare comp) |
| | 原地合并两个已排序的连续范围
|
| template<typename Iterator> |
| constexpr void | neforce::inplace_merge (Iterator first, Iterator middle, Iterator last) |
| | 原地合并两个已排序的连续范围
|
template<typename Iterator, typename Compare>
| void neforce::inplace_merge |
( |
Iterator | first, |
|
|
Iterator | middle, |
|
|
Iterator | last, |
|
|
Compare | comp ) |
|
constexpr |
template<typename Iterator1, typename Iterator2, typename Iterator3, typename Compare>
| Iterator3 neforce::merge |
( |
Iterator1 | first1, |
|
|
Iterator1 | last1, |
|
|
Iterator2 | first2, |
|
|
Iterator2 | last2, |
|
|
Iterator3 | result, |
|
|
Compare | comp ) |
|
constexpr |
合并两个已排序序列
- 模板参数
-
| Iterator1 | 第一个输入迭代器类型 |
| Iterator2 | 第二个输入迭代器类型 |
| Iterator3 | 输出迭代器类型 |
| Compare | 比较函数类型 |
- 参数
-
| first1 | 第一个范围起始 |
| last1 | 第一个范围结束 |
| first2 | 第二个范围起始 |
| last2 | 第二个范围结束 |
| result | 输出范围起始 |
| comp | 比较函数对象 |
- 返回
- 输出范围结束迭代器
将两个已排序的范围 [first1, last1) 和 [first2, last2) 合并到以 result 开始的范围。 结果范围包含来自两个输入范围的所有元素,并保持排序顺序。
前提条件:
- 两个输入范围都已按照 comp 排序
- 输出范围不与任一输入范围重叠
- 输出范围有足够的空间容纳所有元素
在文件 merge.hpp 第 51 行定义.
引用了 copy(), is_ranges_input_iter_v , 以及 merge().
被这些函数引用 merge() , 以及 merge().