如何解决为什么makeTree methond没有为节点根分配值
代码为
import java.util.ArrayList;
import java.util.Stack;
class GenericTree {
// Node class
private static class Node {
int data;
ArrayList < Node > children = new ArrayList < >();
}
// making tree from array value
public static void makeTree(Node root,int[] arr) {
Stack < Node > stack = new Stack < >();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == -1) stack.pop();
else {
Node node = new Node();
node.data = arr[i];
if (stack.size() > 0) stack.peek().children.add(node);
else root = node;
stack.push(node);
}
}
}
// display all values from tree
public static void display(Node root) {
System.out.print(root.data + "->");
for (Node node: root.children)
System.out.print(node.data + "->");
System.out.println();
for (Node node: root.children)
display(node);
}
public static void main(String[] args) {
GenericTree tree = new GenericTree();
Node root = new Node();
int[] arr = {100,80,60,-1,50,90,10,20,-1};
makeTree(root,arr);
display(root);
}
}
0->
为什么makeTree()函数没有为根分配值 我是数据结构的新手,开始学习树的数据结构,但是在使用数组值创建树结构时遇到了一些问题,我不知道为什么该函数不起作用并且不将值从数组的值传递给根节点来分配
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。