zoukankan      html  css  js  c++  java
  • 递归输出出栈所有可能

     1      private static void DFS(Deque<String> in,Stack<String> stack,Deque<String> out) {
     2          if(0==in.size())          //输入队列空了
     3          {
     4              if(0==stack.size())      //栈也空了 输出结果
     5              {
     6                  for(Object obj:out.toArray())
     7                      System.out.print(obj);
     8                  System.out.println();
     9              }
    10              else                //此时 输入队列空了,栈非空 则出栈处理
    11              {
    12                  out.addLast(stack.pop());
    13                  DFS(in,stack,out);
    14              }
    15          }
    16          else
    17          {
    18              if(0==stack.size())          //栈空就入栈
    19              {
    20                  stack.push(in.removeFirst());
    21                  DFS(in,stack,out);
    22              }
    23              else
    24              {                            //复制栈当前的状况,因为接下来有两种情况
    25                  Deque inOld=new ArrayDeque<String> (in);    //1.栈的元素出栈
    26                  Stack stackOld=new Stack();            //2.新的元素入栈
    27                  Deque outOld=new ArrayDeque<String>(out);
    28                             
    29 //                 inOld=new ArrayDeque<String>(in);
    30                 // Collections. ;
    31 //                 for(Object obj:in.toArray())
    32 //                     inOld.add(new String((String)obj));
    33                  stackOld=(Stack) stack.clone();
    34 //                 for(Object obj:out.toArray())
    35 //                     outOld.add(new String((String)obj));
    36                                                //在当前情况下 in inOld 这些都是相同的内容 所以以下朝两个方向发展

    37 out.addLast(stack.pop());              //栈的元素出栈的情况进行下去 38 DFS(in,stack,out); 39 40 stackOld.push(inOld.removeFirst());        //新的元素入栈的情况进行下去 41 DFS(inOld,stackOld,outOld); 42 43 } 44 } 45 }
  • 相关阅读:
    CCF——分蛋糕(2017-3)
    CCF——公共钥匙盒(2017-9)
    CCF——打酱油(2017-9)
    CCF——游戏(2017-12)
    SDS-简单动态字符串
    Redis主从复制
    MySQL 知识点
    MySQL 死锁
    Java 类加载机制
    Java IO
  • 原文地址:https://www.cnblogs.com/friends-wf/p/3583919.html
Copyright © 2011-2022 走看看