项目简介
本项目聚焦于解决任务安排问题,目标是在给定时间段内实现任务的最大化安排。项目规定每个任务有各自的开始和结束时间,且任务不能同时进行。采用贪心算法,按照任务的结束时间对任务进行排序,然后顺序安排任务,以此达成最大化任务安排的目的。
项目的主要特性和功能
- 任务类定义:定义了
Work
类,涵盖任务的开始时间、结束时间和持续时间。 - 任务排序:借助自定义的比较函数
cmp
,依据任务的结束时间对任务进行排序。 - 任务安排逻辑:遍历排序后的任务列表,依据任务的开始时间是否大于等于前一个任务的结束时间来决定是否安排该任务。
- 结果输出:输出可安排的任务数量。
安装使用步骤
- 假设用户已经下载了本项目的源码文件。
- 使用C++编译器(如g++)编译源码文件:
bash g++ -o task_scheduler 0225.cpp
- 执行编译后的可执行文件,输入任务数量和具体任务信息:
bash ./task_scheduler
- 程序将输出可以安排的任务数量。
示例
假设输入如下任务信息:
3
1 3
2 5
4 7
程序将输出:
2
这表示最多可以安排2个任务。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】