首页 > 其他 > 详细

单调栈详解

时间:2020-04-14 22:22:22      阅读:78      评论:0      收藏:0      [点我收藏+]

简述

  单调栈指栈内元素具有单调性的一种栈结构,该结构和普通的栈类似是后进先出,但栈内元素严格单调(相等也不行)。

思想实现

  我们用递增栈(指栈顶到栈底为递增)作为例子,设当前元素为x,栈顶为top,当x<top时,直接进栈,不影响栈的单调性。当x>=top时,让栈不断出栈元素直到满足x<top。

代码详解

  我们使用数组模拟单调栈,从0开始存元素,tot指针指向栈顶元素的后一个位置,tot=0时表示栈空,出栈则为tot--。

int s[maxn];
while(tot>=1&&s[tot-1]<=x){
    tot--;
}
s[tot++]=x;

 

单调栈详解

原文:https://www.cnblogs.com/qq2210446939/p/12701018.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!