蓝桥杯算法/STL库/stack(栈)

目录

1.栈的定义和结构

2.五个栈常用的函数

3.代码示例:


1.栈的定义和结构

栈在数据结构中有涉及,这里不作过多讲解。栈是后进先出的数据结构,就像叠餐盘一样。

栈的定义和之前的list、vector、pair差不多。使用时,直接定义。例:stack<int> p;


2.五个栈常用的函数

栈的函数都不难,具体见下图,参考的例子见代码示例:

重点1:栈不能遍历,因为只能操作栈顶元素。除非先查看栈顶元素,再取出栈顶,再查看栈顶元素。

重点2:将数组放进栈,可以实现数组的逆序输出。不过实现的过程比较麻烦,一般不这样用。


3.代码示例:

using namespace std;
int main()
{
	stack<int> p;
	p.push(10);    /*要点:这里和list、pair、vector都不同,
	                前面的是用的push_back()函数插入,这里使用push()函数插入*/
    p.push(15);
    p.push(20);
    p.push(25);
    p.push(30);
    p.push(35);
    
    cout<<"栈顶元素为:"<<p.top()<<endl;
    
    p.pop();
     
    
    cout<<"栈顶元素为:"<<p.top()<<endl;
    
    if(!p.empty())
    {
    	cout<<"栈顶不为空"<<endl<<"栈的元素个数为:"<<p.size()<<endl;
	}
	if(p.empty())
	{
		cout<<"栈顶为空"<<endl;
	}
	return 0;
}

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值