国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用兩個棧實現隊列

2019-11-08 20:00:20
字體:
來源:轉載
供稿:網友

用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型

思路: ①將一行數1,2,3,4,5 入s1棧,然后再將棧s1中的數據入s2棧,得到順序。 ②但如果取棧中某一個元素,然后繼續壓棧.如:壓入1,2,3。然后1出棧,再壓入4,5, 然后2出棧。情況如下圖。 這里寫圖片描述 ③本題還有一個坑就是要進行異常處理,當兩個棧都沒有元素,此時如果執行出棧操作,將會拋出異常。

代碼如下所示:

class Solution{public: void push(int node) { stack1.push(node); } int pop() { int num = 0; while (!stack1.empty()) { stack2.push(stack1.top()); stack1.pop(); } if (stack2.empty()) { throw; } else { num = stack2.top(); stack2.pop(); } while (!stack2.empty()) { stack1.push(stack2.top()); stack2.pop(); } return num; }PRivate: stack<int> stack1; stack<int> stack2;};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 满洲里市| 固镇县| 芦山县| 星子县| 邵阳县| 额济纳旗| 南郑县| 新安县| 舒城县| 依兰县| 盐边县| 定安县| 大理市| 三江| 雷州市| 常熟市| 北海市| 武邑县| 南丹县| 海丰县| 安康市| 金寨县| 清河县| 和田县| 新源县| 惠安县| 车致| 永嘉县| 江城| 泸定县| 青田县| 平昌县| 黄陵县| 博爱县| 南岸区| 海安县| 高唐县| 苍溪县| 额尔古纳市| 涟水县| 广宗县|