栈和队列有什么不同?
发布网友
发布时间:2022-04-24 00:12
我来回答
共11个回答
热心网友
时间:2022-04-22 15:54
栈(Stack)是限定只能在表的一端进行插入和删除操作的线性表。
队列(Queue)是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。
从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同。但它们是完全不同的数据类型。除了它们各自的基本操作集不同外,主要区别是对插入和删除操作的"限定"。
栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按"后进先出"的规则进行操作,而队列必须按"先进先出"的规则进行操作。和线性表相比,它们的插入和删除操作受更多的约束和限定,故又称为限定性的线性表结构。可将线性表和栈及队列的插入和删除操作对比如下:
线性表
Insert(L,i,x)
(1≤i≤n+1)
Delete(L,i)
(1≤i≤n)
如线性表允许在表内任一位置进行插入和删除
栈
Insert(L,n+1,x)
Delete(L,n)
而栈只允许在表尾一端进行插入和删除
队列
Insert(L,n+1,x)
Delete(L,1)
队列只允许在表尾一端进行插入,在表头一端进行删除
本文参考
http://zhidao.baidu.com/question/11987793.html?si=4
热心网友
时间:2022-04-22 17:12
栈是后进先出,就跟一个有一个口的箱子一个,先放的东西在最下面,最后放的东西在最上面,想拿最下面东西,必须先依次把上面的东西拿出来。
队列是先进先出,就跟买火车票一样,买完一个走一个,是先来先服务的。
热心网友
时间:2022-04-22 18:47
同样是线性结构的,栈是一种只允许在表的一端进行插入和删除操作的线性表。就好像食堂里的一摞盘子,只能一个一个往上放,也只能从那一头一个一个往下取。而队列是一边进一边出的,就好像我们在食堂里排队一样,队头出列,队尾入列。
热心网友
时间:2022-04-22 20:38
相同点:都是一种数据结构,可以用于缓存大量的数据单元。
不同点:栈先进后出,而队列先进先出。
热心网友
时间:2022-04-22 22:46
首先栈是先进后出,队列是先进先出
队列就好比你排队买票,从进口进,从出口出,所以就是谁先来的谁先买完票出去,就是先进先出了
而栈的进出口是一个,比如你向一个封底的木桶里面放东西,最先拿出来的是你最后放进去的,最后拿出来的是你最先放进去的,就是先进后出
热心网友
时间:2022-04-23 01:11
最大的区别就是:一个后进先出,一个先进先出
热心网友
时间:2022-04-23 03:52
栈深度优先..
队列宽度有限...................................
热心网友
时间:2022-04-23 06:50
栈,进去出来都从1头.
队列,进去从一头,出来从另一头
鉴定完毕.
热心网友
时间:2022-04-23 10:05
完全同意,是不同的内存存取方式,通过指令操作内存地址来实现
热心网友
时间:2022-04-23 13:36
它们的应用不同
热心网友
时间:2022-04-23 17:24
同意楼上