队列和栈的区别是什么?
1个回答
展开全部
相同点:都是线性结构,都是逻辑结构的概念。都可以用顺序存储或链表存储;栈和队列是两种特殊的线性表,即受限的线性表,只是对插入、删除运算加以限制。
不同点:
1、运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入、删除运算,因而是后进先出表LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO。
2、用途不同,堆栈用于子程调用和保护现场,队列用于多道作业处理、指令寄存及其他运算等等。
扩展资料:
顺序堆栈—堆栈的顺序存储结构:
栈属于一种特殊的线性表,它支持推栈和推栈空满等基本操作。您可以使用数组来模拟具有顶值的堆栈,以完成上述基本操作。
双栈共享空间(双端栈):
如果您需要在程序中使用两个具有相同数据类型的堆栈,您可以通过数组模拟为这两个堆栈创建共享空间,称为双向堆栈。两栈共享空间:一个数组用于存储两个堆栈,一个堆栈的底部作为数组的开始,另一个堆栈的底部作为数组的结束,两个堆栈从各自的端点延伸到中间。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询