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

    主要实现从尾部添加字符和从头部删除字符

       

    从尾部添加直接push进一个stack1即可

       

    从头部删除,需要先将stack1中的字符压入stack2,然后从stack2弹出,这样顺序才对

       

    考虑一种情况,先pushab,弹出a,再压入c,再弹出的话要弹出b

       

    在将stack1的数压入stack2之前要判断stack2中是否为空,如果不为空,要等stack2为空了之后才将stack1中的数压入stack2

       

    package stackToQueue7;

       

    import java.util.Stack;

       

    public class StackToQueue7 {

       

    Stack<String> stack1 = new Stack<>();

    Stack<String> stack2 = new Stack<>();

       

    void appendTail(String string) {

    stack1.push(string);

    }

       

    String deleteHead() throws Exception {

    if (stack2.isEmpty()) {

    while (!stack1.isEmpty()) {

    stack2.push(stack1.pop());

    }

       

    }

    if (stack2.isEmpty()) {

    throw new Exception("队列为空,不能删除");

    }

    return stack2.pop();

       

    }

       

    public static void main(String[] args) throws Exception {

    // TODO Auto-generated method stub

    StackToQueue7 stackToQueue7 = new StackToQueue7();

    stackToQueue7.appendTail("a");

    stackToQueue7.appendTail("b");

    System.out.println(stackToQueue7.deleteHead());

    stackToQueue7.appendTail("c");

    System.out.println(stackToQueue7.deleteHead());

    System.out.println(stackToQueue7.deleteHead());

    // System.out.println(stackToQueue7.deleteHead());

    }

       

    }

  • 相关阅读:
    字符串切片
    格式化输出
    原生链+对象冒充组合继承模式
    对象冒充继承和原生链实现继承的方法和问题
    xlwt使用
    xlrd使用
    pip安装插件库
    第一天入驻博客园
    2-2ARP概念
    1-14常用的应用层协议及应用
  • 原文地址:https://www.cnblogs.com/keedor/p/4379295.html
Copyright © 2011-2022 走看看