您好,登錄后才能下訂單哦!
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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。