此树形结构功能:
①查找某一结点的父节点;
②查找某一节点的子节点。
代码如下:
package generalTree;
import java.util.ArrayList;
import java.util.List;
public class GeneralTree {
private List<Node> lst = new ArrayList<Node>();
public class Node{
public String data;
public String parent;
}
public void addNode(String parent,String child){
Node t = new Node();
t.data = child;
t.parent = parent;
lst.add(t);
}
public String getParent(String x){
for(int i = 0; i<lst.size();i++){
if(lst.get(i).data.equals(x))
return lst.get(i).parent;
}
return null;
}
public List<String> getChild(String x){
List<String> t = new ArrayList<String>();
for(int i=0;i<lst.size();i++){
if(lst.get(i).parent.equals(x))
t.add(lst.get(i).data);
}
return t;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
GeneralTree t = new GeneralTree();
t.addNode("世界","亚洲");
t.addNode("世界","欧洲");
t.addNode("世界","美洲");
t.addNode("亚洲","中国");
t.addNode("亚洲","日本");
t.addNode("亚洲","韩国");
t.addNode("中国","湖北");
t.addNode("中国","北京");
t.addNode("中国","上海");
System.out.println(t.getParent("湖北"));
System.out.println("-------------");
System.out.println(t.getChild("中国"));
}
}