劍指offer之 用兩個棧實現佇列

2021-10-02 23:24:53 字數 370 閱讀 1497

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。棧佇列

存入資料時,先將stack1清空並將資料儲存到stack2中,插入新資料到stack1中,再次將stack2清空至stack1中

刪除資料時,直接輸出stack1的top元素

class solution

stack1.push(node);

while(stack2.size() > 0)

}int pop()

return top_stack1;

}private:

stackstack1;

stackstack2;

};

程式設計師修煉 劍指offer之用兩個棧實現佇列

之前寫過一遍棧的實現,今天說說怎麼用棧實現佇列的功能 題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。首先做題前明確思路,再動手碼 1.佇列是先進先出,而棧是先進後出 2.實現佇列就是實現佇列的兩個操作,入隊和出隊 使用兩個棧stack1和stack2,s...

劍指offer 兩個棧實現佇列

使用兩個棧實現乙個佇列。棧是先進後出,佇列是後進先出。如果只有乙個棧那麼是無法實現佇列的,但是兩個棧完全可以。如下 templateclass cqueue templatet cqueue deletehead if stack2.size 0 throw queue is empty t ret...

劍指offer 兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。棧的特點是先入後處,先出。而佇列的特點是先入先出,後出。所以我們整兩個棧,入棧的時候入第乙個。出棧的時候如果另外乙個非空,則優先處理另乙個。如果空的話,把所有的元素再 先出的放到另一棧裡,負負得正,得到了佇列的效果。c...