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免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。