栈stack

0、题目

1、力扣42题:接雨水
    按行计算:单调栈,找到凹点;
    按列计算:动态规划,找到左右最高点

1、创建stack

stack<数据类型,容器类型> st;

数据类型:一般是int等基本类型,也可以是自定义类型;
容器类型:可省略,默认是deque类型;

/*创建堆栈时,不能在初始化列表中用对象来初始化,但是可以用另一个容器来初始化,
只要堆栈的底层容器类型和这个容器的类型相同*/
//stack<int> s1 = {1,2,3,4};   error
//stack<int> s1(10);           error

//1、创建一个空的栈s1
stack<int> s1;
stack<int,list<int>> s1;
 
//2、用vector容器初始化stack
vector<int> v1={1,2,3,4};
stack<int,vector<int>> s2(v1);   //1,2,3,4依次入栈
 
//3、用deque容器初始化stack
//用deque为stack初始化时deque可省  因为stack是基于deque实现的, 默认以deque方式构造
deque<int> d1 = {1,2,3,4,5};
stack<int,deque<int>> s3(d1);
stack<int> s4(d1);  
 
//4、用list容器初始化stack
list<int> l1 = {1,2,3,4,5};
stack<int,list<int>> s5(l1);

##2、基本操作

st.top();
st.push();
st.pop();    //无返回值
st.size();
st.empty();
st.swap(st1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值