栈
前言
先进后出
STL stact
跟其他的STL 很像,不多说了
#include <bits/stdc++.h>
using namespace std;
int main()
{
stack<int> s;
s.push(123);
s.push(321);
s.push(128);
cout << s.top() << endl;
s.pop();
cout << s.top() << endl;
cout << s.size();
if (s.empty())
{
cout << "*";
}
else
{
cout << "&" << endl;
}
return 0;
}
/*输出:
128
321
2&*/
单调栈
其实就是一个保持单调的栈,原理跟单调队列一样不过更简单,只用看栈顶
#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
stack<int> s;
for(int i=1;i<=n;i++)
{
}
for(int i=n;i>=1;i--)
{
while(s.size()&&/*破坏了单调性*/)
s.pop();
/*处理*/
}
return 0;
}