目录
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
变量来模拟栈的方法,是理解和实现栈结构的一种直观且实用的方式。
在通常情况下,单调栈和单调队列的实现方法都可以借助额外的变量
tt
或hh
来进行模拟。
本产品的一大亮点在于其卓越的性能表现。相较于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求求了.....