线性表,栈,队列的优缺点,异同?

 我来答
amonra192
推荐于2017-10-06 · TA获得超过128个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:82.4万
展开全部
三者都是逻辑结构,各有特性,但无所谓优缺点。线性表是一个含有n个元素的有序序列,形成线性结构。这种结构只有一个“第一个元素”和一个“最后一个元素”,除“第一个元素”之外每个元素都有一个前驱,除“最后一个元素”之外每个元素都有一个后继。对线性表附加存取限制可以得到栈和队列。栈只允许在栈顶进行存取,有“后进先出”的特性。队列只允许在队尾存,在队首取,有先进先出的特性。三种结构有不同的应用。
等等等等mery

2021-03-23 · TA获得超过6353个赞
知道大有可为答主
回答量:3.2万
采纳率:47%
帮助的人:1026万
展开全部
相同点:都是线性结构,都是逻辑结构的概念。都可以用顺序存储或链表存储;栈和队列是两种特殊的线性表,即受限的线性表,只是对插入、删除运算加以限制。
不同点:
①运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入、删除运算,因而是后进先出表LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO。
② 用途不同,堆栈用于子程调用和保护现场,队列用于多道作业处理、指令寄存及其他运算等等。
顺序栈——栈的顺序存储结构
栈属于特殊的线性表,支持进栈出栈判空判满等基础操作。可以利用数组模拟栈搭配top值进行以上的基础操作。
两栈共享空间(双端栈) :
在一个程序中需要同时使用具有相同数据类型的两个栈,可以为这两个栈用数组模拟创建共享空间,称为双向栈。两栈共享空间:使用一个数组来存储两个栈,让一个栈的栈底为该数组的始端,另一个栈的栈底为该数组的末端,两个栈从各自的端点向中间延伸。

共同点:都有顺序结构和链式结构,都是只能在线性表的端点插入和删除。
不同点:操作不同。栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按"后进先出"的规则进行操作,而队列必须按"先进先出"的规则进行操作。
与线性表的关系:栈和队列都是线性表,都是限制了插入删除点的线性表(或者说是控制了访问点的线性表)。
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rciqul
2013-12-30 · TA获得超过244个赞
知道小有建树答主
回答量:735
采纳率:100%
帮助的人:296万
展开全部
线性表有两种 顺序表和链表 栈和队列其实都是顺序表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式