使用SJF(SPN)算法推送队列

时间:2014-05-12 20:04:08

标签: c algorithm queue scheduling

我有一个队列,我想使用 SJF算法(也称为 SPN )进入这个队列(接下来是最短的进程) 我用一个函数估计“工作”。我想要推送的元素是结构,我使用该结构的参数获得“作业”。例如:

typedef struct {
 int* a;
 int* b;
}element;

getJob(element*){
int job = element->a * element->b;
return job;
}

如何定义该功能并不重要,我想知道如何使用它来实现 SJF或SPN 算法

1 个答案:

答案 0 :(得分:0)

我认为优先级队列是您正在寻找的。 Here有几种实现,也适用于c,只需稍加修改即可用于您的目的。

此数据结构仅允许两个操作

  1. 插入元素
  2. 提取优先级最高的
  3. 在您的情况下,优先级越高,工作越低。