数据结构中栈是一种受限的线性表,是一种先入后出的数据结构,大家重点掌握顺序栈的特点。
主要的重点冷月做出了标识,知识点如下图(pdf版或xmind源文件请关注公众号:学长冷月,回复数据结构)。
冷月点睛
栈
定义
只允许一端进行插入或删除的线性表(栈顶)
先入后出(FILO) first in last out
栈顶(Top):允许插入或删除的那一端
栈底(Bottom):固定的,不允许插入或删除的那一端
物理结构
顺序结构
栈的C语言数据结构的定义请参考王道书
栈顶指针:s.top, 初始时:s.top == -1 ;栈顶元素 s.data[S.top]
进栈操作:IF 栈不满;s.top ++ ;s.data[s.top] = data
出栈:IF 栈非空;data = s.data [s.top] ;s.top -- ;
栈空:s.top == -1;栈满:s.top == MaxSize -1 ;栈长 .top +1
链式结构
使用单链表来实现,没有头结点,head指针指向栈顶元素
如果这篇博文有帮助到您,可以帮冷月点一个赞或者加一个关注哦!
欢迎关注我的公众号:学长冷月,获得独家整理的学习资源和日常干货推送。
如果您对我的专题内容感兴趣,也可以关注我的博客:guoyu7.com