`
hunter090730
  • 浏览: 190964 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java.util.Stack的妙用

    博客分类:
  • java
阅读更多
//大家肯定知道,系统在执行递归方法(对于其它方法也是如此)时是使用运行时栈。对方法的每一次调用,在栈中都会创建一份此次调用的活动记录--包括方法的参数,局部变量,返回地址,动态链接库,返回值等。 // 既然系统能够隐式地使用栈去执行递归方法,那么我们就可以显式地使用栈来执行上述递归程序,这也是将递归程序转化为迭代程序的常用思想。下面的iterativeTravel方法就运用了这一思想。 public static void iterativeTravel(GenericTreeNode node) { Stack> nodes = new Stack>(); nodes.push(node); // 将当前节点压入栈中。 while (!nodes.isEmpty()) { GenericTreeNode bufNode = nodes.pop(); // 从栈中取出一个节点。 System.out.println(bufNode.toString())//travelNode(bufNode); // 访问节点。 if (!bufNode.isLeaf()) { // 如果该节点为分枝节点,则将它的子节点全部加入栈中。 nodes.addAll(bufNode.getChildren());//这儿导致循环,达到类似递归的效果. } } }
分享到:
评论

相关推荐

    axis2解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    axis2解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    java.util包

    Java提供日期(Data)类、日历(Calendar)类,随机数(Random)类,堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构

    net.mindview.util包(Thinking in Java 4#)

    net.mindview.util包(Thinking in Java 4#)

    axis2.jar 解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    <Call Stack = DEBUG_FRAME = org.apache.axis2.util.JavaUtils.callStackToString(JavaUtils.java:564) DEBUG_FRAME = org.apache.axis2.description.ParameterIncludeImpl.debugParameterAdd(ParameterIncludeImpl...

    实用工具类库java.util

    介绍Java的实用工具类库java.util包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供...

    华科java实验-用泛型栈实现泛型队列

    试用java.util.Stack泛型栈作为父类,用另一个泛型栈对象作为成员变量,模拟实现一个泛型子类Queue,当存储元素的第1个栈的元素超过dump时,再有元素入队列就倒入第2栈。除提供无参构造函数Queue( )外,其它所有队列...

    castor-1.0-xml.jar

    xml解析工具类,包含了一下的类: org.castor.util.IdentityMap org.castor.util.IdentitySet org.exolab.javasource....org.exolab.castor.util.Stack org.castor.util.Base64Decoder org.castor.util.Base64Encoder

    类qq聊天工具

    38. import java.util.Stack; 39. import java.util.prefs.Preferences; 40. 41. import javax.swing.BoxLayout; 42. import javax.swing.ImageIcon; 43. import javax.swing.JButton; 44. import javax....

    Java.util包简介并教您如何开发应用之二

    读完了Java.util包简介并教您如何开发应用之一接下来我们继续介绍Java的实用工具类库Java.util包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期...

    借助Ehcache缓存框架实现对页面的缓存Demo

    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run...

    在Python中调用Java方法PyJNIus.zip

    >>> Stack = autoclass('java.util.Stack') >>> stack = Stack() >>> stack.push('hello') >>> stack.push('world') >>> stack.pop() 'world' >>> stack.pop() 'hello' 标签:PyJNIus

    queuewithstack:该项目包含使用 java.util.Stack 类的队列实现

    确保安装了 Java 7 编译器 只需运行即可构建和安装 mvn 全新安装 实现了三个实现: CostOnDeQueueQueue - 快 DirectAccessQueue - 快速 CostOnEnQueueQueue - 慢 此外,还提供了一个线程安全包装器,用于在多线程...

    字符串逆序输出

    import ... String mm = "I like music,java,this is a test"; for (String s : mm.split(" ")) { stack.push(s); } while (!stack.empty()) { Print.print(stack.pop()+" "); } } }

    java编程题目 有答案

    java编程试题.很多实例非常经典..很值得去研究

    从Python程序中访问Java类的简单示例

    from jnius import autoclass ...上面的代码中,我们使用 autoclass 函数,创建了一个类型代理,对应着Java中java.util.Stack类的所有方法和字段属性。 OK,也许你想要一个Android相关的例子,看这里: from jnius imp

    用户输入阿拉伯数字,输出相应汉字

    利用Java.util 包中的堆栈Stack实现用户输入的阿拉伯数字,输出相应的汉字。

    NativeIO和YARNRunner修改后的源码

    用eclipse本地提交Hadoop任务(如WordCount)到服务器上跑的时候,会报错: Stack trace: ExitCodeException exitCode=1: at org.apache.hadoop.util.Shell.runCommand(Shell.java:538) at org.apache.hadoop.util....

    Oracle EM 的启动错误

    配置: Stack Trace: oracle.sysman.emcp.exception.EMConfigException: 启动 ... at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:449) at java.lang.Thread.run(Thread.java:534)

    用Java语言实现的各种排序.doc

    用Java语言实现的各种排序,包括插入排序、冒泡排序、选择排序、Shell排序、快速排序、归并排序、堆排序、SortUtil等 插入排序法 package org.rut.util.algorithm.support; import org.rut.util.algorithm.SortUtil;...

    axis2最精简jar包依赖

    axis2最精简jar包依赖,亲自一个个jar包测试过的,绝对好用!

Global site tag (gtag.js) - Google Analytics