09 用兩個棧實現佇列

2021-10-07 10:07:37 字數 613 閱讀 9182

2020-06-22

1.題目描述

在佇列尾部插入整數和在佇列頭部刪除整數的功能。(若佇列中沒有元素,deletehead 操作返回 -1 )

2.題解

乙個棧用來輸入,乙個棧用來輸出

入棧:直接入棧1即可

出棧:如果棧2為空,則將棧1所有元素放入棧2,並輸出棧2棧頂元素,如果棧2不為空,直接出棧2即可

3.**

class cqueue 

void

(int value)

intdeletehead()

}int t=s2.

top();

s2.pop();

return t;

} stack<

int> s1,s2;};

/** * your cqueue object will be instantiated and called as such:

* cqueue* obj = new cqueue();

* int param_2 = obj->deletehead();

*/

09 用兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的 push 和 pop 操作。in 棧用來處理入棧 push 操作,out 棧用來處理出棧 pop 操作。乙個元素進入 in 棧之後,出棧的順序被反轉。當元素要出棧時,需要先進入 out 棧,此時元素出棧順序再一次被反轉,因此出棧順序就和最開始入棧順序是相同的,先進...

09 用兩個棧實現佇列 python

題目1 用兩個棧實現乙個佇列 class stack2queue object def init self self.stack1 self.stack2 def push self,var def pop self if len self.stack2 0 return self.stack2.p...

用兩個棧實現佇列 用兩個佇列實現棧

劍指offer 面試題7 用兩個棧實現佇列。templateclass cqueue 我們試著用兩個棧來模擬佇列的操作,發現如下可行操作 完整 實現 面試題7 用兩個棧實現佇列 分別完成在隊尾插入結點和在隊頭刪除結點的功能。date 2014 06 27 include include includ...