关于java树结构的实现
发布网友
发布时间:2022-04-25 21:00
我来回答
共4个回答
热心网友
时间:2022-04-12 19:01
可以用递归模拟树
要求子树拥有父树的id;
绝对原创;
import java.util.ArrayList;
import java.util.List;
public class Test2 {
public static void main(String[]args){
List<Tree> trees = new ArrayList<Tree>();
int id = 1;
Tree t1 = new Tree(0,id++,"我是根树");
Tree t2 = new Tree(0,id++,"我是第二个根树");
Tree t3 = new Tree(1,id++,"我是子树");
trees.add(t1);
trees.add(t2);
trees.add(t3);
Tree t4 = new Tree(1,id++,"树根你好");
Tree t5 = new Tree(4,id++,"我不是树根");
Tree t6 = new Tree(5,id++,"我才是树根");
trees.add(t4);
trees.add(t5);
trees.add(t6);
show(trees);
}
public static void show(List<Tree> trees){
for(int i=0;i<trees.size();i++){
Tree t = trees.get(i);
if(t.parent == 0){
StringBuffer blank = new StringBuffer();
t.show(trees,blank);
}
}
}
}
import java.util.List;
public class Tree {
public Tree(int parent,int id,String str) {
this.parent = parent;
this.id = id;
this.str = str;
}
int parent;//树的根树
int id;
String str;
// StringBuffer blank = new StringBuffer();
void show(List<Tree> trees, StringBuffer blank){
blank.append(" ");
System.out.println(blank + str );
for(int i=0;i<trees.size();i++){
Tree t = trees.get(i);
if(t.parent == id){
t.show(trees,blank);
}
}
}
}
热心网友
时间:2022-04-12 20:19
貌似没有,还有TreeSet和TreeMap只是线程安全的set和map
热心网友
时间:2022-04-12 21:53
public class Tree {
//要求是二查树
定义根
定义左孩子
定义右孩子
}
热心网友
时间:2022-04-12 23:45
自己写就行 很简单的