Java中树的存储结构实现(4)

// 返回包含指定值得节点
    public int pos(Node node) {
        for (int i = 0; i < treeSize; i++) {
            // 找到指定节点
            if (nodes[i] == node) {
                return i;
            }
        }
        return -1;
    }

}

测试类:

package com.ietree.basic.datastructure.tree;

import java.util.List;

/**
 * Created by ietree
 * 2017/4/30
 */
public class TreeChildTest {

public static void main(String[] args) {

TreeChild<String> tp = new TreeChild<String>("root");
        TreeChild.Node root = tp.root();
        System.out.println(root);
        tp.addNode("节点1", root);
        tp.addNode("节点2", root);
        tp.addNode("节点3", root);
        System.out.println("添加子节点后的根结点:" + root);
        System.out.println("此树的深度:" + tp.deep());
        // 获取根节点的所有子节点
        List<TreeChild.Node<String>> nodes = tp.children(root);
        System.out.println("根节点的第一个子节点:" + nodes.get(0));
        // 为根节点的第一个子节点新增一个子节点
        tp.addNode("节点4", nodes.get(0));
        System.out.println("此树第一个子节点:" + nodes.get(0));
        System.out.println("此树的深度:" + tp.deep());

}

}

程序输出:

TreeChild$Node[data=root, first=-1]
添加子节点后的根结点:TreeChild$Node[data=root, first=1]
此树的深度:2
根节点的第一个子节点:TreeChild$Node[data=节点1, first=-1]
此树第一个子节点:TreeChild$Node[data=节点1, first=4]
此树的深度:3

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20b33c3dc305f42e978657eebf7e9b1a.html