您的位置:首页 > 理论基础 > 数据结构算法

第十章 基本数据结构 练习 10.4-4

2017-01-02 00:00 183 查看
package chap10; import static org.junit.Assert.*; import java.util.Stack; import org.junit.Test; public class exec10_4_4 { /** * 将该树打印 * * @param tree */
static void printTree(TreeWithRoot tree) { printNode(tree.root.node); } /** * 遍历一个树的非递归方法,用一个栈实现 * * @param node */
static void printNode(Node1 node) { if (node == null) { System.err.println("tree is null"); } Stack<Node1> nodes = new Stack<Node1>(); do { System.out.print(node.key + " "); if (node.right_sibling != null) { nodes.push(node.right_sibling); } if (node.left != null) { node = node.left; } else { node = nodes.pop(); } } while (nodes != null); } /** * 创建一个树,弱智方法 * * @return
*/
static TreeWithRoot creatTree() { TreeWithRoot t = new TreeWithRoot(); Root1 r = new Root1(); Node1 n1, n2, n3, n4, n5, n6, n7, n8, n9, n0; n1 = new Node1(0); n2 = new Node1(1); n3 = new Node1(2); n4 = new Node1(3); n5 = new Node1(4); n6 = new Node1(5); n7 = new Node1(6); n8 = new Node1(7); n9 = new Node1(8); n0 = new Node1(9); t.root = r; r.node = n0; n0.left = n1; n1.right_sibli
3ff1
ng = n2; n2.left = n3; n3.right_sibling = n4; n3.left = n5; n5.left = n6; n6.right_sibling = n7; n7.right_sibling = n8; n7.left = n9; return t; } @Test public void testName() throws Exception { TreeWithRoot t1 = creatTree(); printTree(t1); } }






我在
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: