【栈】“stack”
视频链接
注:只是新手的笔记,慎看!!!欢迎大佬指错
何为栈?
如图:

栈只有一个向上的开口,因此,元素只能从栈顶入栈和出栈。
而先入栈的元素会被后入栈的元素压在下面,因此栈只满足先进后出
特性:
记忆性:
- 栈能记住入栈的顺序,并按逆序入栈
- 常用于回溯 逆序 匹配
无迭代性
- 不可遍历
- 不可访问除栈顶以外的元素
【手写栈】代码
#include <bits/stdc++.h>
using namespace std;
//栈大小,头指针
const int MAX=10005;
int top=0;
//栈
vector <int> vr(MAX);
//判满
bool isFUll()
{
return top==MAX-1;
}
//判空
bool isEmpty()
{
return top==0;
}
//入栈
void push(int x)
{
if(isFUll())
{
cout<<"栈满"<<endl;
return;
}
vr[++top]=x;
}
//出栈
void pop()
{
if(isEmpty())
{
cout<<"栈空"<<endl;
return;
}
top--;
}
//取栈首
int get_top()
{
if(isEmpty())
{
cout<<"栈空"<<endl;
return -1;
}
return vr[top];
}
int main()
{
return 0;
}
1308

被折叠的 条评论
为什么被折叠?



