zoukankan      html  css  js  c++  java
  • 用两个栈实现队列

    前言:
     这也是一道比较简单的题目
     下面说说我的思路吧
     思路:两个栈,一个栈是push()方法中存放元素的栈(stack1);在pop()方法中,将stack1的除首元素外的所有元素循环出栈给stack2,那么stack1的出栈操作即可拿到队列的pop()的返回值,然后将stack1清空,将stack2的所有元素全部出栈给stack1,那么这个队列的pop()方法就完成了。
     重点在于两个栈实现队列的pop()方法的实现


     好吧,下面放代码


    这题不难,下面写点收获吧,就翻了翻Java的Stack源码,回忆了下Java数据结构吧

    • Stack类还是比较古老的,JDK1.0就有了,继承了Vector,底层还是数组实现的
    • Java的Stack除了push()、pop()方法外,还有peek()方法,用于返回栈顶元素的值,不出栈;此外还有几个,都比较简单,翻翻都能看懂
    • emm,或许还有更优的解法,后续知道了,会增修本篇
  • 相关阅读:
    完整的开源和商业软件平台
    免费开源的文件比较/合并工具
    Javascript面向对象基础
    Javascript面向对象基础
    引入外部js获取dom为null的问题
    闭包函数
    初识对象
    构造函数
    内置对象
    Math对象
  • 原文地址:https://www.cnblogs.com/ihaokun/p/10753492.html
Copyright © 2011-2022 走看看