首页 > 代码库 > 线索二叉树
线索二叉树
package cn.firstflag.crm.service; import jxl.common.Logger; /** * * @author zhanmin.zheng * */ public class ThreadTree { private Logger log = Logger.getLogger(getClass()); private Integer childFlag = 0; private Integer threadFlag = 1; public class Node <T> { private T data; private Integer leftFlag = childFlag; private Integer rightFlag = childFlag; private Node leftChildren; private Node rightChildren; public Node() { super(); } public Node(T data) { super(); this.data =http://www.mamicode.com/ data; } } static Node pre = null; public void create(Node node) { if (node == null) return; if (node.leftChildren == null) { node.leftFlag = 1; } if (node.rightChildren == null) { node.rightFlag = 1; } if (node.leftFlag == 1) { node.leftChildren = pre; } if (pre != null && pre.rightFlag ==1) { pre.rightChildren = node; } pre = node; create(node.leftChildren); create(node.rightChildren); } public Node foreach(Node node) { while (node.leftFlag == 1) { node = node.leftChildren; } while (node.rightFlag == 1) { log.debug("pass " + node.data); node =node.rightChildren; } return node; } }
线索二叉树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。