两个栈实现队列
两个栈实现队列
栈: 具有后进先出的特性
队列:具有先进先出的特性
如何使用栈来实现队列的功能?
当把数据经过两次栈的时候,数据经过两次反转,就可以实现先进先出。
具体过程
首先需要两个栈(stack1, stack2),stack1负责插入操作,stack2负责删除操作。
插入操作的时候往stack1插入数据即可。
当把stack1的数据全部出栈然后压入stack2,那么stack2出栈顺序就是队列顺序。
执行删除操作的时候只需要从stack2弹出一个元素即可。
在执行删除操作时需要判断stack2是否为
原创
2021-07-05 20:13:45 ·
67 阅读 ·
0 评论