栈和队列都是顺序存取的线性表,但它们对存取位置的限制不同,这句话对吗?为什么?

 我来答
一叹t
高能答主

2021-01-20 · 我们不创作,我们只是信息的搬运工。
一叹t
采纳数:2139 获赞数:11977

向TA提问 私信TA
展开全部

这句话是正确的,这里的顺序存取应该指的是对元素的顺序操作,他们的存取位置的限制是不同的,站只能在一头进行操作,队列只能一边进行存储另一边读取元素,所以说他们的存取位置的限制是不同的。

栈又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。

扩展资料:

栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。

堆栈帧一般包含如下几方面的信息:

1、函数的返回地址和参数。

2、临时变量,包括函数的非静态局部变量以及编译器自动生成的其他临时变量。

循环队列的入队算法如下:

1、tail=tail+1。

2、若tail=n+1,则tail=1。

3、若head=tail,即尾指针与头指针重合了,表示元素已装满队列,则作上溢出错处理。

4、否则,Q(tail)=X,结束(X为新入出元素)。

进栈(PUSH)算法

1、若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作2)。

2、置TOP=TOP+1(栈指针加1,指向进栈地址)。

3、S(TOP)=X,结束(X为新进栈的元素)。

退栈(POP)算法

1、若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作2)。

2、X=S(TOP),(退栈后的元素赋给X)。

3、TOP=TOP-1,结束(栈指针减1,指向栈顶)。

参考资料来源:百度百科-队列

参考资料来源:百度百科-栈

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
帐号已注销
2021-01-20 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:163万
展开全部

正确的。

前面的一半句话似乎有点问题,所谓顺序存取一般专门指的是链式存储,只能依次访问,而栈和队列只是限制了存取点,从逻辑上说并不能依次访问其各个元素。

注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表,存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点。

扩展资料:

线性表的相邻元素之间存在着序偶关系。如用(a1,…,ai-1,ai,ai+1,…,an)表示一个顺序表,则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=2,3,…,n时,ai有且仅有一个直接前驱。

参考资料来源:百度百科-线性表

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的考研狗
推荐于2017-11-21
知道答主
回答量:1
采纳率:0%
帮助的人:2万
展开全部
这句话是正确的,因为栈和队列都必须在两头进行操作而不能随机的存取内部任何一个结点,所以是顺序存取的线性表。栈只能在栈顶进行存取,而队列只能从队尾插入结点队头删除结点,所以存取位置限制不同。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式