【发布时间】:2018-08-28 05:53:41
【问题描述】:
给定n个进程及其突发时间和到达时间,任务是使用FCFS、循环、最短剩余时间等调度算法找到平均等待时间和平均周转时间,
在选择数据结构来实现这些算法时,我感到非常困惑。我为每个属性使用了一个单独的数组来实现,但是这很乏味,我们需要在 c 中编写很多语句。我正在考虑一个链表,其中每个节点代表所有属性。是不是一个有效率的。 能否请您推荐一个高效的数据结构,以便搜索和排序更容易。
【问题讨论】:
-
欢迎来到 stackoverflow.com。请花一些时间阅读the help pages,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。也请take the tour 和read about how to ask good questions。最后请学习如何创建Minimal, Complete, and Verifiable Example。
-
我也推荐你阅读this question checklist。
-
为什么不使用
struct来为您的流程建模?您可以显示一些代码来公开您的尝试。 -
结构也是个好主意。
-
顺便说一下,不要做排序。而是保留一个优先级队列(“优先级”是您想要的任何东西),您可以在其中按顺序插入节点。那你就不需要排序了。如果“优先级”可以更改,则只需从队列中删除节点,然后重新插入即可。下一个要运行的进程将始终是队列中的“第一个”节点。
标签: c operating-system scheduling