首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java兑现二叉树的层次遍历

2012-10-09 
Java实现二叉树的层次遍历节点类,包括名称与子节点。class TestNode {String name nullListTestNode c

Java实现二叉树的层次遍历
节点类,包括名称与子节点。
class TestNode {
String name = null;
List<TestNode> children = new ArrayList<TestNode>();
        //setter、getter
}

遍历函数:
public void levelOrder(TestNode root) {
    Queue<TestNode> nodes = new LinkedList<TestNode>();
    TestNode currNode = null;
    List<TestNode> children = null;
    assert(root != null);
    nodes.add(root);
   
    while (!nodes.isEmpty()) {
currNode = nodes.poll();//出队列
System.out.print(currNode.getName());
children = currNode.getChildren();

        //子节点入队列
if (children != null && !children.isEmpty()) {
    for (int i = 0; i < children.size(); i++) {
nodes.add(children.get(i));
    }
}
     }
}

热点排行