表格线识别通用库文档
载入中...
搜索中...
未找到
cm::Interval::CompareByLength结构体 参考

区间的比较仿函数 更多...

#include <interval.hpp>

Public 成员函数

 CompareByLength (bool is_ascending=true)
 区间的比较仿函数的带参构造函数
 
bool operator() (const Interval &interval1, const Interval &interval2) const
 区间的比较仿函数重载括号运算符
 

详细描述

区间的比较仿函数

该仿函数可用于对区间进行长度比较,可以指定升序或降序排序。默认情况下,比较函数定义为按照区间长度升序排列。

注解
通过调用 cm::Interval::CompareByLength(true) 可以创建一个按照区间长度升序排列的比较仿函数,而调用 cm::Interval::CompareByLength(false) 则可以创建一个按照区间长度降序排列的比较仿函数。该比较仿函数可以用于排序算法中,例如 cm::List<T>::Sort() 或 std::sort 等。
示例
// 初始化区间列表
cm::List<cm::Interval> intervals = {{1, 9}, {8, 9}, {4, 7}};
// 区间列表按照区间长度升序排序
intervals.Sort(cm::Interval::CompareByLength(true)); // intervals: [[8, 9), [4, 7), [1, 9)]
// 区间列表按照区间长度降序排序
intervals.Sort(cm::Interval::CompareByLength(false)); // intervals: [[1, 9), [4, 7), [8, 9)]
点类
Definition point.hpp:52
区间的比较仿函数
Definition interval.hpp:57
作者
dreamy-xay
日期
2024-02-01

在文件 interval.hpp57 行定义.

构造及析构函数说明

◆ CompareByLength()

cm::Interval::CompareByLength::CompareByLength ( bool is_ascending = true)
inlineexplicit

区间的比较仿函数的带参构造函数

该构造函数用于根据传入的 is_ascending 参数来初始化比较函数,以确定是按照区间长度升序还是降序排列。

参数
is_ascending是否按照区间长度升序排列
作者
dreamy-xay
日期
2024-02-01

在文件 interval.hpp106 行定义.

函数调用图:

成员函数说明

◆ operator()()

bool cm::Interval::CompareByLength::operator() ( const Interval & interval1,
const Interval & interval2 ) const
inline

区间的比较仿函数重载括号运算符

该函数重载了括号运算符,实现了对两个区间的比较操作。它根据区间的长度来进行比较。

参数
interval1区间1
interval2区间2
返回
区间1和区间2的长度大小关系
返回值
true升序排序时,表示 interval1 的长度小于 interval2 的长度;降序排序时,表示 interval1 的长度大于 interval2 的长度
false升序排序时,表示 interval1 的长度大于等于 interval2 的长度;降序排序时,表示 interval1 的长度小于等于 interval2 的长度
作者
dreamy-xay
日期
2023-12-05

在文件 interval.hpp131 行定义.


该结构体的文档由以下文件生成: