我试图解决下面的问题,但我不确定Q.insert(S.top())
的功能
以下是问题:
填写表格,显示一系列优先级队列和堆栈操作的输出及其对a的影响
最初清空整数的优先级队列Q和整数的空堆栈S.一定要注明
您显示的每个数据结构的方向(即前,后,顶部,底部)。 (10p)
|操作|输出|堆栈S |队列Q |后方|前面|
Q.insert(9)
Q.insert(11)
Q.peek()
S.push(8)
Q.insert(S.top())
S.push(Q.remove())
Q.insert(Q.remove())
S.size() == Q.size()
答案 0 :(得分:0)
假设队列 Q 且堆栈 S 在此系列操作开始时为空......
S.push(8)
将1个元素放在堆栈上,值为'8'
S.top()
然后返回'8'
调用类似Q.insert(<param>)
的函数时,参数不必是常量;它可以是变量或任何可以产生正确类型参数的东西。
所以,如果你有像
这样的方法public void insert(int n);
public int top(); // returns an int(eger)
您可以通过以下任何方式调用插入
int meaning = 42;
Q.insert( 10 );
Q.insert( meaning );
Q.insert( Math.round(3.14) ); // 'round' produces an int
所以...
Q.insert(S.top())
将S.top()返回的'8'插入队列。