简述栈和队列的共同点和不同点.它们与线性表有什么关系
共同点:都有顺序结构和链式结构,都是只能在线性表的端点插入和删除。
不同点:操作不同。栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按"后进先出"的规则进行操作,而队列必须按"先进先出"的规则进行操作。
与线性表的关系:栈和队列都是线性表,都是限制了插入删除点的线性表(或者说是控制了访问点的线性表)。
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
扩展资料:
队列和栈一样只允许在断点处插入和删除元素。
循环队的入队算法如下:
1、tail=tail+1;
2、若tail=n+1,则tail=1;
3、若head=tail,即尾指针与头指针重合了,表示元素已装满队列,则作上溢出错处理;
4、否则,Q(tail)=X,结束(X为新入出元素)。
队列和栈一样,有着非常广泛的应用。
注意:(1)有时候队列中还会设置表头结点,就是在队头的前面还有一个结点,这个结点的数据域为空,但是指针域指向队头元素。
参考资料来源:百度百科-栈
参考资料来源:百度百科-队列
共同点:都是只能在线性表的端点插入和删除
不同点:
栈的插入和删除都在线性表的同一个端点,该点通称栈顶,相应地,不能插入删除的另一个端点通称栈底,其特性是后进先出
队列在线性表的表头插入,表尾删除,表头一般称队头,表尾一般称队尾,其特性是先进先出
相同之处:n个(同类)数据元素的有限序列称为线性表。线性表的特点是数据元素之间存在“一对一”的关系,栈和队列都是操作受限制的线性表,他们和线性表一样,数据元素之间都存在“一对一”的关系不同之处:栈只允许在一段进行插入或删除操作的线性表,其最大的特点是“后进后出”;对列是只允许在一端进行插入,另一端进行删除操作的线性表,其最大的特点是“先进后出”。
共同点:都是只能在线性表的端点插入和删除
不同点:
栈的插入和删除都在线性表的同一个端点,该点通称栈顶,相应地,不能插入删除的另一个端点通称栈底,其特性是后进先出
队列在线性表的表头插入,表尾删除,表头一般称队头,表尾一般称队尾,其特性是先进先出