栈和队列属于线性结构是对的。
一、什么是栈:栈(stack)是一个后进先出(lastinfirstout,lifo)的线性表,它要求只在表尾进行删除和插入操作。栈的结构示意图,按箭头方向操作:
二、什么是队列:队列是限定只能在表的一端进行插入,在表的另一端进行删除的特殊的线性表。
栈和队列是操作位置受限的线性表,即对插入和删除的位置加以限制。栈是仅允许在表的一端进行插入和删除的线性表,因而是后进先出表。队列是只允许在表的一端进行插入,另一端进行删除操作的线性表,因而是后进先出表
共同点:都有顺序结构和链式结构,都是只能在线性表的端点插入和删除。不同点:操作不同。栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按"后进先出"的规则进行操作,而队列必须按"先进先出"的规则进行操作。与线性表的关系:栈和队列都是线性表,都是限制了插入删除点的线性表(或者说是控制了访问点的线性表)。队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
栈和队列是受限制的线性表栈是先进后出(一群人走进了死胡同,然后再都出来)队列是先进先出(跟排队一个道理,先来的先受到服务)线性表是哪里都可以进行插入和删除
栈和队列都是线性表,并且都是特殊的线性表:特殊在于限制了插入和删除点栈是在线性表的某固定一端插入和删除,因此特性为后进先出队列是在线性表的一端插入,另外一端删除,因此特性为先进先出