美文网首页
栈实现队列

栈实现队列

作者: 竖起大拇指 | 来源:发表于2020-09-03 15:11 被阅读0次

实现思路

栈是先入后出,队列是先入先出。根据这个思想,可以用一个栈作为入队,另一个栈作为出队。只要把第一个栈的栈顶的元素压入第二个栈就好了,出队的时候输出第二个栈的栈顶,如果第二个栈的空了就需要不断操作从第一个栈的栈顶压入第二个栈,但是如果第一个栈也空了,那就说明所有元素都输出来了。

代码

/**
 * Created by maozonghong
 * on 2020/9/3
 */
class StackQueue {

    companion object{
        //入队
        var stack1= Stack<Int>()

        //出队
        var stack2=Stack<Int>()


        fun push(node:Int){
            //入队 保证出队为空
            while(!stack2.isEmpty()){
                stack1.push(stack2.peek())
                stack2.pop()
            }
            stack1.push(node)
            println("入队元素是:"+ stack1.peek())
        }

        fun pop(){
             //出队 保证入队为空
            while(!stack1.empty()){
                stack2.push(stack1.peek())
                stack1.pop()
            }
            println("出队元素:"+ stack2.peek())
            stack2.pop()
        }


        @JvmStatic
        fun main(args: Array<String>) {
            push(1)
            push(2)
            push(3)

            pop()
            pop()
            push(4)
            pop()
            push(5)
            pop()
            pop()

        }
    }
}

打印如下:

入队元素是:1
入队元素是:2
入队元素是:3
出队元素:1
出队元素:2
入队元素是:4
出队元素:3
入队元素是:5
出队元素:4
出队元素:5

相关文章

  • Algorithm小白入门 -- 队列和栈

    队列和栈队列实现栈、栈实现队列单调栈单调队列运用栈去重 1. 队列实现栈、栈实现队列 队列是一种先进先出的数据结构...

  • 数据结构——栈和队列

    用数组实现栈和队列 用栈实现队列 用队列实现栈 栈和队列的经典算法题最小间距栈宠物收养所 数组实现栈和队列 用数组...

  • Swift 队列&栈 相关操作

    栈 LIFO(后进先出) 队列 FIFO(先进先出) 队列与栈相互的实现 栈 - 队列实现 队列 - 栈实现 相关...

  • 38_两个有趣的问题

    关键词:通过栈实现队列、通过队列实现栈 0. 通过栈实现队列 用栈实现队列等价于用后进先出的特性实现先进先出的特性...

  • 栈&队列

    一、栈&队列总结 栈/队列的应用接雨水验证栈序列滑动窗口的最大值 栈/队列的特殊实现用两个栈实现队列用两个队列实现...

  • 队列之-队列实现栈

    一、队列实现栈核心算法概述 之前已经描述过了用栈实现队列的功能,见栈系列之-实现队列,那么同样队列也可以用来实现栈...

  • 算法-栈和队列算法总结

    栈和队列算法总结 1 模拟 1.1 使用栈实现队列 1.2 使用队列实现栈 2 栈的应用 2.1 栈操作 2.2 ...

  • leecode刷题(26)-- 用栈实现队列

    leecode刷题(26)-- 用栈实现队列 用栈实现队列 使用栈实现队列的下列操作: push(x) -- 将一...

  • 栈和队列

    两个栈实现队列 两个队列实现栈

  • C语言第七次作业:链表

    707. 设计链表 空指针 空节点 225. 用队列实现栈 链式存储栈 双队列实现栈 232. 用栈实现队列 链式...

网友评论

      本文标题:栈实现队列

      本文链接:https://www.haomeiwen.com/subject/ljxosktx.html