队列和栈区别

共同点: 

栈: 是一种受限表的一端插入和删除数据的线性表,栈又称:后进先出,LIFO表(Last In First Out)

队列:同样是一种受限的线性表,只有在标的一端插入数据,另一端删除数据,先进先出的特性,FIFO表 (First In First Out)

栈:就如箱子装东西,只有后放入的才能最先拿出——后进先出

队列:就如一条路只有一个入口和出口,只有先进去的就能先出来——先进先出

主要区别:

特性不同:

栈:后进先出

队列:先进先出

数据操作插入和删除的不同:

栈:只能从栈顶插入和删除,就是表的一端进行插入和删除操作

队列:限定在表的一端插入,另一端删除

遍历数据速度不同:

栈:只能从栈顶开始遍历,最先存入的数据最后才能取到,而且为了保持数据的一致性,遍历取出的数据需要临时空间存储,速度慢

队列:无需另外开辟临时空间,可以选择从队列的头或尾2端开始依次遍历,速度快

补充:对于堆栈的理解

堆:是动态内存,在程序运行时动态分配的内存空间,栈是堆的一种后进先出的方法。

参考整理:

https://blog.csdn.net/ZIV555/article/details/51479008

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值