美文网首页练习题
使用两个队列模拟堆栈结构

使用两个队列模拟堆栈结构

作者: 老奶猹 | 来源:发表于2020-07-10 10:08 被阅读0次

    两个队列模拟一个堆栈,队列是先进先出,而堆栈是先进后出。模拟如下
    队列a和b
    (1)入栈:a队列为空,b为空。例:则将”a,b,c,d,e”需要入栈的元素先放a中,a进栈为”a,b,c,d,e”
    (2)出栈:a队列目前的元素为”a,b,c,,d,e”。将a队列依次加入Arraylist集合a中。以倒序的方法,将a中的集
    合取出,放入b队列中,再将b队列出列。代码如下:

    class  
    {
       public static void main(String[] args) 
       {
           Queue<String> q1 = new LinkedList<String>(); //a队列
           Queue<String> q2 = new LinkedList<String>();//b队列
           ArrayList<String> a = new ArrayList<String>();//arrayList是中间参数
           //往队列q1中存储元素
           q1.offer("a");
           q1.offer("b");
           q1.offer("c");
           q1.offer("d");
           q1.offer("e");
    
           //将q1队列中的元素存储进list集合中
           for(String q : q1){
               a.add(q);
               System.out.println(q);
           }
           //以倒序的方法取出a中依次加入的元素
           for(int i=a.size()-1;i>=0;i--){
                q2.offer(a.get(i));
           }
           //打印出栈队列
           System.out.println("出栈:");
           for(String q : q2){
                System.out.print(q);
           }
       }
    }
    打印结果为(遵循栈模式先进后出): 
    进栈:a b c d e  出栈:e d c b a

    相关文章

      网友评论

        本文标题:使用两个队列模拟堆栈结构

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