【发布时间】:2020-08-02 14:11:37
【问题描述】:
我想知道我是否可以使用 (Key, Value) 实现一个堆栈,如下所示:
public static void main(String[] args) {
PriorityQueueStack<Integer,V> s = new PriorityQueueStack<>();
s.push(1,'A');
s.push(2,'B');
s.push(3,'C');
s.push(4,'D');
我的类实现如下:
public class PriorityQueueStack<E> extends SortedPriorityQueue<Integer, E> implements
PriorityQueue<Integer, E>{
有没有办法用 (Key, Value) 来实现它,因为我搜索过我找不到这种实现的任何资源。
输出应该是这样的:
(1,'A'),(2,'B')..... and so on
【问题讨论】:
-
你尝试过使用Java的Stack类和Pair类吗?
-
什么是“优先队列栈”?我不明白你打算如何将这两个概念结合起来。这是一个数据结构,应该是“键”的优先级队列和值的“堆栈”吗?
-
我不建议你创建一个意大利面条类。
-
但是栈作为 FIFO 工作 那么它就不是栈了。
-
不可能根据优先级创建堆栈,至少在仍将其称为堆栈时不能。
标签: java algorithm class oop data-structures