栈的基本知识
我应该是CSDN里年纪最小的一个作者这是我的第一篇博文,请各位大神们多多关照,如果代码里有任何问题,恳请指教
今天,蒟蒻要给大家介绍一下栈:
栈是一个只能在某一端插入和删除的特殊线性表.
如上图所示:
栈就好比用桶堆积物品,一层一层的往上堆,取得时候只能从栈顶开始取,是一个只先进后出(first in,last out)的线性表.进行插入和删除的一端称之为栈顶,另一堆则成为栈底.插入叫进栈,删除叫做出栈.
栈的定义为:
stack<type>name;
type是栈的类型,name是栈的名称.
栈需要用头文件:
#include <stack>
当然用万能头文件就可忽略
#include<bits/stdc++.h>
关于栈呢,还有几个基本操作:
1.zhan.push()//将元素压进站
2.zhan.pop()//将栈顶的元素弹出
3.zhan.top()//查看栈顶的元素,并返回其值
4.zhan.empty()//判断栈是否为空,是返回true,否返回false
5.zhan.size()//查看栈的长度,也就是栈元素的个数,并返回其值
这里注意啦, 以上我注释说要返回值的函数并不是要写
bool isNum(string s)
{
if((s[0]>='0'&&s[0]<='9')||(s[0]=='-'&&s.size()>=2))
return true;
else
return false;
}
这样的函数.
只需要直接敲就OK了:
为了让大家了解更详细,我再来详细描述一下:
1.zhan.empty()的用法
if(zhan.empty());//用来判断栈是否为空
2.zhan.size()的用法
length(用来存储栈长度的变量名)=zhan.size();//将栈的长度赋值给length
3.zhan.push()的用法
zhan.push(element(元素));//将element压进栈
4.zhan.top()的用法
element(用来存储栈顶元素的变量名)=zhan.size();//将栈顶元素值赋值给element
5.zhan.pop()的用法
//直接写
zhan.pop()//将栈顶元素弹出
这大概就是栈的基本知识了,如果还有些不清楚的,可以私信我.
还给大家准备了一个小视频:
公开课—c++算法之栈结构
扫描二维码关注公众号,回复:
10335303 查看本文章
最后提醒大家继续待在家里,不要出去,不然,病毒就来敲门啦;
记得点赞哦