两个栈实现队列的操作

用栈实现队列

思路:
使用两个栈实现队列的操作,一个栈作为pop栈,一个栈作为push栈,其中pop栈中只做pop操作,push栈中只做push操作,然后在定义一个dao的函数(作用是将push栈中的数据转移到pop栈中),
dao函数中一个要满足以下两个条件:

  1. pop栈中不为空,一定不能导(pop栈为空才能导)
  2. 导的话要一次性导完push栈中的所有数据
    然后在每次pop和push操作后调用dao函数即可
    导之前:
    在这里插入图片描述
    导之后:
    在这里插入图片描述
    不能进行导操作的情况:
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41134324/article/details/109103303
今日推荐