zoukankan      html  css  js  c++  java
  • 两个栈实现一个队列的加入、删除功能

    栈的特点是“先进后出”,队列的特点是“先进先出”;向队列中依次加入元素n、m,当删除时,先删除应该是n;向栈1中加入元素n、m。当要删除时。把栈1的元素加入到栈2中。元素n刚好位于栈顶,n就会被先删除。正好实现了队列的特点。

    代码例如以下。已測。

    public class Queue {
    
        private Stack<String> stackOne=new Stack<String>();
        private Stack<String> stackTwo=new Stack<String>();
    
          //加入元素
          public void add(String str){
              stackOne.push(str);
          }
    
          //删除元素
          public void delete(){
             if(stackTwo.isEmpty()){
                while(!stackOne.isEmpty()){
                   stackTwo.push(stackOne.pop());
                }
             }
            if(stackTwo.isEmpty()){//栈1和栈2都为空时候
               System.out.println("queue is empty");
            }
            else{
                stackTwo.pop();
            }     
         }
    }
  • 相关阅读:
    典型格雷码-数学规律
    合并两个有序数组
    从fragment跳转到Activity
    fragment如何findviewby
    布局和位置
    preferencefragment
    AndroidStudio导入support-v13
    一些属性作用
    菜单menu
    ActionBar
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5102788.html
Copyright © 2011-2022 走看看