堆栈和队列之间的基本区别是什么?
请帮帮我,我无法找到差异.
如何区分堆栈和队列?
我在各种链接中搜索了答案,发现了这个答案..
在高级编程中,
堆栈被定义为通过在现有元素的"顶部"放置新元素来延长的元素列表或序列,并通过从现有元素的顶部移除元素来缩短.它是一个ADT [抽象数据类型],其数学运算为"push"和"pop".
队列是一系列元素,通过将新元素放在现有的后面并通过删除队列前面的元素缩短来添加.它是ADT [抽象数据类型].在Java,C++,Python等编程中可以理解这些术语.
我能得到更详细的答案吗?请帮我.
123*_*123 116
想象一堆纸.放入堆栈的最后一块是在顶部,所以它是第一个出来的.这是LIFO.添加一张纸称为"推",删除一张纸称为"弹出".
想象一下在商店排队.排在第一位的人是第一个脱节的人.这是FIFO.一个人进入队列是"入队"的,一个人脱节是"出队"的.
cde*_*ers 36
您可以将它们视为有序的事物列表(按它们添加到列表的时间排序).两者之间的主要区别在于新元素如何进入列表,旧元素如何离开列表.
对于一个堆栈,如果我有一个列表a, b, c,并且我添加d,它会在最后添加,所以我最终得到了a,b,c,d.如果我想弹出列表的元素,我删除我添加的最后一个元素,即d.弹出后,我的列表a,b,c再次出现
对于队列,我以相同的方式添加新元素.添加后a,b,c变为.但是,现在当我弹出时,我必须从列表的前面取一个元素,所以它变成了.a,b,c,ddb,c,d
这很简单!
Dis*_*ake 14
队列
队列是有序的项目集合.
项目在一端被删除,称为队列的"前端".
项目被插入队列的"后方"的另一端.
插入的第一个项目是第一个要删除的项目(FIFO).
堆
Stack是项目的集合.
它只允许访问一个数据项:插入的最后一项.
项目在一端插入和删除,称为"堆栈顶部".
它是一个动态且不断变化的对象.
所有数据项都放在堆栈顶部并从顶部取下
这种访问结构称为后进先出结构(LIFO)
小智 13
堆:
队列:
堆栈是元素的集合,可以一次存储和检索一个元素.按照存储时间的相反顺序检索元素,即存储的最新元素是要检索的下一个元素.堆栈有时被称为后进先出(LIFO)或先进先出(FILO)结构.在检索到最新元素(通常称为"顶部"元素)之前,无法检索先前存储的元素.
队列是元素的集合,可以一次存储和检索一个元素.按照存储时间的顺序检索元素,即存储的第一个元素是要检索的下一个元素.队列有时被称为先进先出(FIFO)或后进(Last-Last-Out)(LILO)结构.在检索到第一个元素(通常称为"前"元素)之前,无法检索随后存储的元素.