什么是栈?什么是队列?

如题所述

栈和队列的共同点是只允许在端点处插入和删除元素。

栈:限定仅在表尾进行插入和删除操作。一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

扩展资料:   

栈基本算法

1、进栈(PUSH)算法

①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②);

②置TOP=TOP+1(栈指针加1,指向进栈地址);

③S(TOP)=X,结束(X为新进栈的元素);

2、退栈(POP)算法

①若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作②);

②X=S(TOP),(退栈后的元素赋给X):

③TOP=TOP-1,结束(栈指针减1,指向栈顶)。

参考资料来源:百度百科-队列    

参考资料来源:百度百科-栈

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-10-12
1、栈相当于一个水瓶子,往里面放东西,只能被压到底部,所有只有等上面的所有的都出来了,他才能出来,这是先进后出。队列相当于一个隧道,火车往里面开,不能回头,头先进去当然也先出来,这叫先进先出。
2、栈和队列是两种基本的数据结构,它们都是线性结构,但在数据的存储和访问方式上有一些不同。
3、栈和队列的区别是:数据结构不同队列先进先出,栈先进后出。对插入和删除操作的限定。栈是限定只能在表的一端进行插入和删除操作的线性表。队列是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。
4、先进先出(FIFO,first-in,first-out)为处理从队列或堆栈发出的程序工作要求的一种方法,它使最早的要求被最先处理。后进先出,从栈中取出数据项的顺序与将它们插入栈的顺序相反。
相似回答
大家正在搜