单调栈 超短超明白讲解 #记住我

单调栈

没错,又是我来搞事情了
1.概念:一个栈,满足:任何时候栈顶到栈底的所有元素是有序的
即排序过的
但是,一般是在插入时 顺便排序
取出和正常的一样,不写了
可以自己写数组,也可以 STL
cpp的福利
插入:
代码:

void insert(int val) {
  while (!s.empty() && val < s.top()) s.pop();
  s.push(val);
 }

这种:越顶上越大
单调栈支持栈的所有操作
单调队列也差不多
可以去看看我即将发的博客

关键:动态维护单调性

谢谢阅读
我在 FZ Wenbo Child Care Center
找同幼儿园的GAY啊

你可能感兴趣的:(毛大帅逼的cpp爆零生涯,栈,cpp,c++,数据结构)