YoannaSt173

тема19

Apr 2nd, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.15 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3.  
  4. public class tree<T> {
  5.     private T data=null;
  6.     private List <tree<T>> children=new ArrayList<>();
  7.     private tree<T> parent=null;
  8.     public tree(T data) {
  9.         this.data=data;
  10.     }
  11.     public tree<T> addChild(tree<T> child){
  12.         child.setParent(this);
  13.         this.children.add(child);
  14.         return child;
  15.     }
  16.     public void addChildren(List<tree<T>> children) {
  17.         children.forEach(each -> each.setParent(this));
  18.         this.children.addAll(children);
  19.     }
  20.     public List<tree<T>> getChildren(){
  21.         return children;
  22.     }
  23.     public T getData() {
  24.         return data;
  25.     }
  26.     public void Setdata(T data) {
  27.         this.data=data;
  28.     }
  29.     private void setParent(tree<T> parent) {
  30.         this.parent=parent;
  31.     }
  32.     public tree<T> getParent(){
  33.         return parent;
  34.     }
  35.  
  36.     private static <T> void printTree(tree<T> node,String appender) {
  37.         System.out.println(appender+node.getData());
  38.         node.getChildren().forEach(each -> printTree(each,appender + appender));
  39.  
  40.     }
  41.     public static void main(String[] args) {
  42.         tree<String> root=createTree();
  43.         printTree(root," ");
  44.  
  45.     }
  46.     private static tree<String> createTree() {
  47.         tree<String> root=new tree<>("                                   Трендафил и Надка ");
  48.  
  49.         tree<String> node5=root.addChild(new tree<String>(""));
  50.  
  51.         tree<String> node1=root.addChild(new tree<String>("               Владислав                Мариян                  Мирела   "));
  52.         tree<String> node3=root.addChild(new tree<String>(""));
  53.         tree<String> node4=root.addChild(new tree<String>(""));
  54.         tree<String> node11=root.addChild(new tree<String>("       Владивлав и Кристина      Мариян и Десислава      Мирела и Адриан  "));
  55.         tree<String> node6=root.addChild(new tree<String>(""));
  56.  
  57.  
  58.         tree<String> node111=root.addChild(new tree<String>("          Ванеса и Галя                Мартин                 Калоян "));
  59.  
  60.         return root;
  61.     }
  62. }
Add Comment
Please, Sign In to add comment