• 二、 编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek)


    请指教交流!

     1 package com.it.hxs.c01;
     2 
     3 import java.util.Stack;
     4 
     5 /*
     6  编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek) 
     7  */
     8 public class HxsQueue {
     9 
    10     public static void main(String args[]) {
    11         HxsQueue demoQueue = new HxsQueue();
    12         demoQueue.add("111");
    13         demoQueue.add("222");
    14         demoQueue.add("333");
    15         demoQueue.poll();
    16         System.out.println(demoQueue.peek());
    17     }
    18 
    19     private Stack<String> pushStack;// 推入栈
    20     private Stack<String> popStack;// 推出栈
    21 
    22     public HxsQueue() {
    23         this.pushStack = new Stack<String>();
    24         this.popStack = new Stack<String>();
    25     }
    26 
    27     public void add(String content) {
    28         if ("".equals(content) || content == null) {
    29             throw new RuntimeException("添加的元素值不能为空!");
    30         } else {
    31             pushStack.push(content);
    32             this.popStack = new Stack<String>();
    33             for (int index = pushStack.size() - 1; index >= 0; index--) {
    34                 popStack.push(pushStack.elementAt(index));
    35             }
    36         }
    37     }
    38 
    39     public String poll() {
    40         String result = "无元素";
    41         if (!popStack.isEmpty()) {
    42             result = popStack.pop();
    43             this.pushStack = new Stack<String>();
    44             for (int index = popStack.size() - 1; index >= 0; index--) {
    45                 pushStack.push(popStack.elementAt(index));
    46             }
    47         }
    48         return result;
    49     }
    50 
    51     public String peek() {
    52         String result = "无元素";
    53         if (!popStack.isEmpty()) {
    54             result = popStack.peek();
    55         }
    56         return result;
    57     }
    58 
    59 }
  • 相关阅读:
    MySQL基础(3):进阶用法
    MySQL基础(2):DDL语言
    MySQL基础(1):基本语法
    Linux中配置ftp传输
    Eclipse插件安装的三种方法
    C++中string,wstring,CString的基本概念和用法
    程序员的谈判技巧
    转:C++编程隐蔽错误:error C2533: 构造函数不能有返回类型
    CMake入门以及学习笔记
    程序员的学习方法
  • 原文地址:https://www.cnblogs.com/chaoge516/p/7423624.html
Copyright © 2020-2023  润新知