剑指Offer之用两个栈实现队列(题7)
1/****************************************2>FileName:test.cpp3>Author:xiaoxiaohui4>mail:1924224891@qq.com5>CreatedTime:2016年05月23日星期一19时16分55秒6****************************************/78910/*stack1保存最开始的输入栈,stack2保存要输出的数据的栈,这样11两个栈就可以实现一个队列了12例如:输入5,4,3,2,113栈顶栈底14stack1保存的是1,2,3,4,515stack2保存的则是5,4,3,2,116则输出的是5,4,3,2,1*/1718#include<iostream>19usingnamespacestd2021template<classT>22voidCQueue<T>::appendTail(constT&node)23{24stack1.push(node);25}2627template<classT>28TCQueue<T>::deleteHead()29{30if(stack1.size()<=0)31{32printf("queueisempty\n");33returnNULL;34}3536intcount=stack1.size();37while(count--)38{39Tnode=stack1.top();40stack1.pop();41stack2.push(node);42}4344Ttop=stack2.top();45stack2.pop();46returntop;47}484950
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。