c++如何判断一个输入时间段和另一个已有时间段冲突
时间: 2024-05-08 19:21:31 浏览: 15
判断两个时间段是否冲突,可以通过比较它们的开始时间和结束时间来实现。具体来说,可以按照以下步骤进行:
1. 定义一个结构体来表示时间段,包含开始时间和结束时间两个成员变量。
```
struct TimeInterval {
int start; // 开始时间
int end; // 结束时间
};
```
2. 输入两个时间段的开始时间和结束时间,并将它们存储到两个 TimeInterval 类型的变量中。
3. 判断两个时间段是否冲突。如果一个时间段的开始时间在另一个时间段的开始时间和结束时间之间,或者一个时间段的结束时间在另一个时间段的开始时间和结束时间之间,那么它们就是冲突的。具体代码如下:
```
bool isConflicted(const TimeInterval& t1, const TimeInterval& t2) {
if (t1.start >= t2.start && t1.start < t2.end) {
return true;
}
if (t1.end > t2.start && t1.end <= t2.end) {
return true;
}
if (t2.start >= t1.start && t2.start < t1.end) {
return true;
}
if (t2.end > t1.start && t2.end <= t1.end) {
return true;
}
return false;
}
```
这个函数接受两个 TimeInterval 类型的参数,返回一个 bool 类型的值,表示两个时间段是否冲突。它通过判断 t1 和 t2 的开始时间和结束时间的关系来确定它们是否冲突。
4. 调用 isConflicted 函数来判断两个时间段是否冲突。如果函数返回 true,则说明它们冲突,否则它们不冲突。