4_4雙棧佇列
編寫一個類,只能用兩個棧結構實現佇列,支援佇列的基本操作(push,pop)。
給定一個操作序列ope及它的長度n,其中元素為正數代表push操作,為0代表pop操作,保證操作序列合法且一定含pop操作,請返回pop的結果序列。
測試樣例:
輸入:[1,2,3,0,4,0],6
返回:[1,2]
class TwoStack {
public:
stack<int> push_stack, pop_stack;
void pour_into(stack<int> &A, stack<int> &B)
{
while(!A.empty()){
B.push(A.top());
A.pop();
}
}
vector<int> twoStack(vector<int> ope, int n) {
vector<int> result;
for(int i=0; i<n; i++){
if(0 == ope[i]){
pour_into(push_stack, pop_stack);
result.push_back(pop_stack.top());
pop_stack.pop();
}else{
pour_into(pop_stack, push_stack);
push_stack.push(ope[i]);
}
}
return result;
}
};
相關文章
- 三、資料結構演算法-棧、佇列、優先佇列、雙端佇列資料結構演算法佇列
- 佇列,棧佇列
- 棧、佇列佇列
- 棧-佇列佇列
- 佇列和棧佇列
- 棧和佇列佇列
- python資料結構與演算法——棧、佇列與雙端佇列Python資料結構演算法佇列
- 單調佇列雙端佇列佇列
- 通過佇列實現棧OR通過棧實現佇列佇列
- 堆、棧以及佇列佇列
- java 棧與佇列Java佇列
- 雙端佇列佇列
- 9. 題目:對佇列實現棧&用棧實現佇列佇列
- 棧與佇列簡介佇列
- Chapter 2 棧和佇列APT佇列
- 6.13-棧與佇列佇列
- 用佇列實現棧佇列
- 用棧實現佇列佇列
- 棧,佇列,優先順序佇列簡單介面使用佇列
- 《演算法》- 佇列和棧演算法佇列
- 演算法-棧佇列堆演算法佇列
- 連結串列&鏈棧&佇列佇列
- 兩個棧實現佇列佇列
- 資料結構—棧/佇列資料結構佇列
- 單調棧/單調佇列佇列
- 資料結構-佇列、棧資料結構佇列
- Day 10| 232.用棧實現佇列 、 225. 用佇列實現棧佇列
- 《劍指 Offer》棧實現佇列佇列
- 2. 揹包,佇列和棧佇列
- “棧”與“佇列”呢點事(三)佇列
- “棧”與“佇列”呢點事(一)佇列
- 用JavaScript實現棧與佇列JavaScript佇列
- time模組,collections模組,佇列和棧佇列
- 兩個棧實現佇列操作佇列
- 線性結構 佇列與棧佇列
- 資料結構-棧與佇列資料結構佇列
- 資料結構—棧和佇列資料結構佇列
- 描述高頻題之佇列&棧佇列