232 用棧實現佇列

2021-10-01 10:49:16 字數 661 閱讀 6109

解法一:雙棧法

用乙個棧來儲存棧的順序,乙個棧來儲存相反的順序即佇列的順序;兩個棧相互顛倒,就可以操作頭部和尾部了。

class

myqueue

void

push

(int x)

s2.push

(x);

//將x壓入棧順序儲存的s2

while

(!s2.

empty()

)}intpop()

intpeek()

bool

empty()

};/** * your myqueue object will be instantiated and called as such:

* myqueue* obj = new myqueue();

* obj->push(x);

* int param_2 = obj->pop();

* int param_3 = obj->peek();

* bool param_4 = obj->empty();

*/

232 用棧實現佇列

使用棧實現佇列的下列操作 myqueue queue new myqueue queue.push 1 queue.push 2 queue.peek 返回 1 queue.pop 返回 1 queue.empty 返回 false說明 這個題目的關鍵點在於,只能用棧的幾個操作實現。由於棧先進後出,...

232用棧實現佇列

使用棧實現佇列的下列操作 push x 將乙個元素放入佇列的尾部。pop 從佇列首部移除元素。peek 返回佇列首部的元素。empty 返回佇列是否為空。1 import j a.util.stack 23 public class stackforqueue 910 public void pus...

232 用棧實現佇列 225 用佇列實現棧

用棧實現佇列 佇列是先進先出,實現佇列的最直觀的方法是用鍊錶。但本題是要求使用棧。本題兩個stack相互倒,負負得正 class myqueue def init self self.instack self.outstack defpush self,x def pop self if len s...