栈和队列
目录栈
栈的基本定义
栈是一种特殊的线性表,特点是先进后出
栈的操作只能在表的一端进行,出栈和入栈都只能在栈顶(表尾)进行
栈的两种实现:顺序栈和链栈
顺序栈
采用数组,用一个指针指向栈顶
双向顺序栈(空间利用率更高)
两个栈栈尾是数组的头元素和尾元素,用两个指针分别指向两个栈的栈顶元素的下一个元素
栈满的判定:左指针 > 右指针 (左指针 = 右指针时还有一个空间可以用)
参考代码文件:stack.h
链栈
基于链表实现的栈
注意指针是从栈顶指向栈底,所以插入删除操作都在链表的头部进行
标签:顺序,队列,元素,栈顶,链表,指针 From: https://www.cnblogs.com/DrinkLessMilkTea/p/17963396