栈
栈是只能在一端操作的结构,类似模型:瓶子(一端开口、另一端封闭),栈能保存数据,具有记忆功能,栈是线性结构,在计算机中担当临时存储作用
栈顶:可操作的端
栈底:不可操作的端
栈的特点:先进后出,FILO(first in last out)
栈的基本操作:
入栈:插入元素
出栈:删除元素
读栈:将栈顶的元素赋给一个指定的变量,在这个运算总栈顶指针不会改变
栈内元素个数计算公式:
Top- Buttom+1(其中buttom>=1)
如果栈中Top=Buttom=0说明栈式空的
队列
队列:FIFO(first in first out) 仅在表的一端进行插入,而在表的另一端进行删除的线性表
运行插入的一端称为队尾(rear)
允许删除的一端称为队头(front)
队列又称‘先进先出’或‘后进后出’的线性表
队列内元素个数计算公式:
front-rear
循环队列:所谓的循坏队列,就是将队列存储空间的最后一个位置绕道第一个位置,形成逻辑上的环形空间
循环队列内元素个数计算公式:
尾-头(为正数)他的个数就是元素的个数
为负:尾-头+总容量=0,可以是两种情况
栈和队列的理解:
栈和队列都属于线性结构
栈和队列是线性结构的实例
线性结构有两端,首段和尾端
栈规定只能在一端操作
队列规定在两端操作