queue和stack哪个更基本

来源:互联网 发布:淘宝模块管理怎么设置 编辑:程序博客网 时间:2024/05/01 12:11

这个问题取决于“基本”的定义。很容易觉得是stack更基本,因为在程序设计中,stack用来保存局部变量,函数参数等,平时接触的很多,事实上,的确是stack更基本(。。。),因为用两个stack可以模拟出queue的行为。同样的问题适用于“-1 和1哪个更基本”,-1 * -1 = 1,所以是-1更基本。

 

下面的代码实现用2个stack模拟queue的基本行为。stack是先入后出的结构,用两个2个stack倒一次,就变成先入先出了。一个stack作为入的stack,push进来的数据都放到inStack,另一个stack作为出的stack,当要取queue的首数据时,如果outStack有数据,直接取;如果outStack为空,把数据从inStack倒过来,再取。