1 /****************************************
2 > File Name:test.cpp
3 > Author:xiaoxiaohui
4 > mail:1924224891@qq.com
5 > Created Time:2016年05月23日 星期一 19时16分55秒
6 ****************************************/
7
8
9
10 /* stack1保存最开始的输入栈,stack2保存要输出的数据的栈,这样
11 两个栈就可以实现一个队列了
12 例如:输入 5, 4, 3, 2, 1
13 栈顶 栈底
14 stack1保存的是 1, 2, 3, 4, 5
15 stack2保存的则是 5, 4, 3, 2, 1
16 则输出的是 5, 4, 3, 2, 1 */
17
18 #include<iostream>
19 using namespace std
20
21 template<class T>
22 void CQueue<T>::appendTail(const T& node)
23 {
24 stack1.push(node);
25 }
26
27 template<class T>
28 T CQueue<T>::deleteHead()
29 {
30 if(stack1.size() <= 0)
31 {
32 printf("queue is empty\n");
33 return NULL;
34 }
35
36 int count = stack1.size();
37 while(count--)
38 {
39 T node = stack1.top();
40 stack1.pop();
41 stack2.push(node);
42 }
43
44 T top = stack2.top();
45 stack2.pop();
46 return top;
47 }
48
49
50
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。