这是我的任务中的一个步骤,看起来很容易,但对我来说似乎有点困惑。考虑到这件事明天到期,帮助会很大。代码格式响应会很棒。这是步骤:
您将需要创建两个优先级队列数组:一个活动数组和一个过期数组。在我们的例子中,我们将简化并且只有 0 到 4 的优先级值,即活动数组和过期数组将分别由 5 个队列组成。
这是我的任务中的一个步骤,看起来很容易,但对我来说似乎有点困惑。考虑到这件事明天到期,帮助会很大。代码格式响应会很棒。这是步骤:
您将需要创建两个优先级队列数组:一个活动数组和一个过期数组。在我们的例子中,我们将简化并且只有 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
PriorityQueue<Task> active = new PriorityQueue<Task>(10, new TaskComparator());
你用这个做什么是你自己的了望。