码迷,mamicode.com
首页 > 其他好文 > 详细

单调栈 、 队列学习

时间:2018-07-25 20:12:44      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:detail   tar   tail   一个   art   net   sdn   log   https   

推荐博客 : https://blog.csdn.net/zuzhiang/article/details/78134247

 

单调栈、队列只需满足两个条件即可,序列是单调的,并且符合栈和队列的特性。

实现:

例如实现一个单调递增的栈,比如现在有一组数10,3,7,4,12。从左到右依次入栈,则如果栈为空或入栈元素值小于栈顶元素值,则入栈;否则,如果入栈则会破坏栈的单调性,则需要把比入栈元素小的元素全部出栈。单调递减的栈反之。

 

10入栈时,栈为空,直接入栈,栈内元素为10。

3入栈时,栈顶元素10比3大,则入栈,栈内元素为10,3。

7入栈时,栈顶元素3比7小,则栈顶元素出栈,此时栈顶元素为10,比7大,则7入栈,栈内元素为10,7。

4入栈时,栈顶元素7比4大,则入栈,栈内元素为10,7,4。

12入栈时,栈顶元素4比12小,4出栈,此时栈顶元素为7,仍比12小,栈顶元素7继续出栈,此时栈顶元素为10,仍比12小,10出栈,此时栈为空,12入栈,栈内元素为12。

 

单调栈 、 队列学习

标签:detail   tar   tail   一个   art   net   sdn   log   https   

原文地址:https://www.cnblogs.com/ccut-ry/p/9367715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!