线性表、栈、队列有何异同?

如题所述

相同点:都是线性结构,都是逻辑结构的概念。都可以用顺序存储或链表存储;栈和队列是两种特殊的线性表,即受限的线性表,只是对插入、删除运算加以限制。

不同点:

1、运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入、删除运算,因而是后进先出表LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO。

2、用途不同,堆栈用于子程调用和保护现场,队列用于多道作业处理、指令寄存及其他运算等等。

扩展资料:

顺序堆栈—堆栈的顺序存储结构:

栈属于一种特殊的线性表,它支持推栈和推栈空满等基本操作。您可以使用数组来模拟具有顶值的堆栈,以完成上述基本操作。

双栈共享空间(双端栈):

如果您需要在程序中使用两个具有相同数据类型的堆栈,您可以通过数组模拟为这两个堆栈创建共享空间,称为双向堆栈。两栈共享空间:一个数组用于存储两个堆栈,一个堆栈的底部作为数组的开始,另一个堆栈的底部作为数组的结束,两个堆栈从各自的端点延伸到中间。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-08
相同之处:n个(同类)数据元素的有限序列称为线性表。
线性表的特点是数据元素之间存在“一对一”的关系,栈和队列都是操作受限制的线性表,他们和线性表一样,数据元素之间都存在“一对一”的关系
不同之处:栈只允许在一段进行插入或删除操作的线性表,其最大的特点是“后进后出”;对列是只允许在一端进行插入,另一端进行删除操作的线性表,其最大的特点是“先进后出”。本回答被网友采纳
第2个回答  2017-07-16
栈和队列都是线性表,并且都是特殊的线性表:特殊在于限制了插入和删除点
栈是在线性表的某固定一端插入和删除,因此特性为后进先出
队列是在线性表的一端插入,另外一端删除,因此特性为先进先出
第3个回答  2020-12-08
相同:数据元素间一对一的关系,存储方式与线性表相同。
不同:栈是限定仅在表尾进行插入和删除,后进先出。队列限定在一段插入另一段删除,先进先出。线性表随机存取。
相似回答