当前位置:   article > 正文

Stack栈类与、Queue队列与线性表的区别和联系_栈和队列都是运算受到限制的特殊的线性表,栈和队列有何不同?

栈和队列都是运算受到限制的特殊的线性表,栈和队列有何不同?

Stack栈类与、Queue队列与线性表的区别和联系



栈和队列都属于特殊的线性表


一、定义


1、线性表(linear list)

是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。数据元素是一个抽象的符号,其具体含义在不同的情况下一般不同。


2、栈(Stack):

栈是限定仅能在表尾进行插入或删除操作的线性表。对栈来说,表尾称为栈顶、表头称为栈底,不含元素的空表称为空栈。

由于栈的上述特性,最先入栈的元素最后才能被删除,最晚入栈的元素最先被删除,所以栈又称为后进先出的线性表。

应用例子:进制转换、括号匹配检验、行编辑程序、迷宫求解、表达式求值、递归实现


3、队列(Queue):

和栈相反,队列是一种先进先出的线性表,它只允许在表的一端进行插入,而在另一端删除元素,允许插入的一端叫队尾,允许删除的一端叫队头。

应用例子:操作系统中的作业排队。

双端队列,是限定插入和删除操作在表的两端进行的线性表,尽管双端队列看起来比栈和队列灵活,但实际上在应用程序中远不及栈和队列有用。



二、实现方式和顺序表示


声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号