C++STL 2.stack

目录

1.stack

1.1 介绍

1.2函数 

1.3栈遍历

1.3.1栈遍历

1.3.2 数组模拟栈进行遍历


1.stack

1.1 介绍

栈,作为一种独特的数据结构,被巧妙地实现在STL中。它遵循先进后出的原则,即最后进入的元素将首先被移除,这种特性使得它在数据处理和存储方面具有特殊的优势。

#include<stack>//头文件...
stack<int/*这里写类型*/>//定义 

1.2函数 

代码含义
s.push(x)将x进栈
s.pop()删除栈的第一个元素
s.top()返回栈的第一个数
s.empty()如栈为空返回1否则返回0
s.size()返回栈的大小

1.3栈遍历

1.3.1栈遍历

栈是一种数据结构,它的特性是只允许对位于顶端的元素进行操作。因此,若需遍历栈内所有元素,必须逐一将它们移出并存入数组中。

stack<int> st;
for (int i=0;i<=10-1;i++) 
{
	st.push(i);
}
while (!st.empty()) 
{
    int tp=st.top(); //栈首 
    st.pop();
}
1.3.2 数组模拟栈进行遍历

在计算机科学中,栈是一种重要的数据结构,它遵循后进先出(LIFO)的原则。为了实现这一结构,我们可以采用数组来模拟栈的行为,同时使用一个特定的变量top来指示栈顶的位置。这种方法不仅简洁高效,而且能够清晰地反映出栈的操作原理。

在这个模型中,数组的每一个元素都可以看作是栈中的一个存储单元,而top变量则扮演着指针的角色,指向当前栈顶的位置。随着数据的入栈和出栈,top的值会相应地增加或减少,从而动态地标记栈顶的最新位置。

通过这种方式,我们不仅能够有效地管理栈空间,还能够确保数据按照正确的顺序进行处理。这种使用数组和top变量来模拟栈的方法,是理解和实现栈结构的一种直观且实用的方式。

在通常情况下,单调栈和单调队列的实现方法都可以借助额外的变量 tthh 来进行模拟。 

本产品的一大亮点在于其卓越的性能表现。相较于STL的stack,本产品在处理速度上实现了显著的提升,能够更加迅捷地完成各项操作。此外,本产品还具备出色的遍历功能,使得用户能够轻松地访问和检索其中的元素。无论是在日常使用还是专业应用中,本产品都能为用户带来便捷高效的体验。 

int s[10005]; // 栈 从左至右为栈底到栈顶
int t=-1; // tt 代表栈顶指针,初始栈内无元素,tt为-1
for(int i = 0; i<=5;i++) 
{
	//入栈 
	s[++t]=i;
}
// 出栈
int top_=s[t--]; 
//入栈操作示意
//  0  1  2  3  4  5  
//                tt
//出栈后示意
//  0  1  2  3  4 
//              tt

 大家给点支持吧QwQ求求了.....

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值