- 栈(stack)是限定仅在表尾进行插入和删除操作的线性链表。
栈顶(top):允许插入和删除的一端
栈底(botton):另一端
不含任何元素的栈称为空栈。
栈又被称为先进后出(last in fist out)的线性表,简称LIFO结构。
栈的插入(PUSH),叫入栈,进栈,压栈。
栈的删除(POP),叫出栈,弹栈。
栈的抽象数据类型:
ADT 栈(stack) Data 同线性表。元素具有相同的数据类型,相同元素具有前驱和后驱关系。 Operation InitStack(*S):初始化操作,建立一个空栈S。 DestroryStack(*S):若栈存在,则销毁它。 ClearStack(*S):将栈清空。 StackEmpty(*S):若栈为空,返回true,否则返回false。 GetTop(S,*e):若栈存在且非空,用e返回S的栈顶元素。 Push(*S,e):若栈S存在,插入新元素e到栈S中并成为栈顶元素。 Pop(*S,*e):删除栈S中栈顶元素,并用e返回其值。 StackLength(S):返回栈S的元素个数。 endADT |
- 队列
队列(quequ)是只允许在一端进行插入操作,而在另一端进行删除操作的线性链表。