博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【剑指offer 面试题7】用两个栈实现队列
阅读量:5335 次
发布时间:2019-06-15

本文共 1019 字,大约阅读时间需要 3 分钟。

1 #include 
2 #include
3 using namespace std; 4 5 template
class SQueue 6 { 7 public: 8 SQueue():cnt(0){}; 9 10 void push(const T& node);11 T pop();12 int getSize();13 14 private:15 stack
pushstack;16 stack
popstack;17 18 int cnt;19 };20 21 template
void SQueue
::push(const T& node)22 {23 pushstack.push(node);24 25 cnt++;26 }27 28 template
T SQueue
::pop()29 {30 if(popstack.empty())31 {32 while(!pushstack.empty())33 {34 T tmp = pushstack.top();35 pushstack.pop();36 popstack.push(tmp);37 }38 }39 40 if(popstack.empty())41 {42 throw new exception();43 }44 45 T ret = popstack.top();46 popstack.pop();47 48 cnt--;49 50 return ret;51 }52 53 template
int SQueue
::getSize()54 {55 return cnt;56 }57 58 int main()59 {60 SQueue
Queue;61 Queue.push(1);62 Queue.push(2);63 Queue.push(3);64 65 cout<<"currnet size:"<
<

 

转载于:https://www.cnblogs.com/tjuloading/p/4589061.html

你可能感兴趣的文章
Hangfire在ASP.NET CORE中的简单实现方法
查看>>
Algorithm——何为算法?
查看>>
Web服务器的原理
查看>>
小强升职计读书笔记
查看>>
常用的107条Javascript
查看>>
#10015 灯泡(无向图连通性+二分)
查看>>
忘记root密码,怎么办
查看>>
linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】
查看>>
《黑客与画家》 读书笔记
查看>>
bzoj4407: 于神之怒加强版
查看>>
mysql统计一张表中条目个数的方法
查看>>
ArcGIS多面体(multipatch)解析——引
查看>>
css3渐变画斜线 demo
查看>>
JS性能DOM优化
查看>>
设计模式 单例模式 使用模板及智能指针
查看>>
c#的const可以用于引用类型吗
查看>>
手动实现二值化
查看>>
What Linux bind mounts are really doing
查看>>
linux top命令详解
查看>>
博弈论小结
查看>>