0

我被困在一个包括泛型和ArrayList. T任务是通过定义一个优先级队列类来实现一个能够保存任意类型对象的优先级队列,该类使用ArrayList.

要支持的方法是Add(item, priority)

并根据优先级remove()删除优先级列表中的最高项目。

我创建了 Generic Class,其类型为T,已声明private T data。使用多个构造函数来设置数据。现在我被困在如何使用这个类和 UseArrayList上,因为我不确定你是否可以add(string, integer)更不用说ArrayList迭代它。

任何关于如何处理这项作业的提示和想法将不胜感激。

4

1 回答 1

1

您只需将数据及其优先级包装在另一个对象中,仅由您的 PriorityQueue 内部使用(就像 LinkedList 使用包装数据的节点和指向下一个节点的指针)。

所以priorityQueue(T data, int priority)最终会被实施为

Node node = new Node(data, priority);
// find the position where the node must be inserted
arrayList.add(position, node);
于 2013-04-11T21:21:18.090 回答