如何在java中创建队列的两个优先级数组?/ Linux常量时间调度器



这是我作业中的一个步骤,看起来很简单,但对我来说似乎有点困惑。考虑到明天就要交了,能帮忙就太好了。代码格式响应将是伟大的。下面是步骤:

您将需要创建两个队列的优先级数组:一个活动数组和一个过期数组。在我们的例子中,我们将简化并只有0到4的优先级值,即活动数组和过期数组将分别由5个队列组成。

Java类是PriorityQueue,而不是"优先级数组"。我想你误解了任务。

假设您有一个具有优先级值的对象,这里我们将省略限制。你可以自己放进去。

public class Task {
    private Integer priority;  // Let's not have priorities change by accident.
    private String name;
    private double cost;
    // Constructors, getters, setters elided.
}

现在,PriorityQueue需要属于Comparable类或由Comparator创建。让我们使用后者,因为我假设同等优先级的权重相等,并且Task没有自然排序。

public class TaskComparator implements Comparator<Task> {
    public int compare(Task left, Task right) {
        return left.getPriority() - right.getPriority();
        // Only because the numbers are limited. 
    }
}

你可以用

创建任务的优先级队列
PriorityQueue<Task> active = new PriorityQueue<Task>(10, new TaskComparator());

你怎么做,你自己看。

相关内容

  • 没有找到相关文章

最新更新