/*
 * Tree presentation example - adding only *
 */
package treep1;

/**
 *
 * @author hlavavla
 */
public class TreeP1 {

    int Age;
    String Name;
    Node root;

    public TreeP1() {
    //    nothing in this constructor
    }

    public void addt(int i, String b) {
        if (root == null) {
            Node root1 = new Node(i, b);
            root = root1;
        } else {
            add(i, b, root);
        }
    }

    private class Node {

        private int value;
        private String Name;
        private Node l;
        private Node r;

        private Node(int v, String n) {
            this.value = v;
            this.Name = n;
        }
    }
    //  Node root = new Node(5,"root");

    private String ts(Node a) {
        StringBuilder b = new StringBuilder();
        if (a.l != null) {
            b.append(ts(a.l));
        }
        b.append(" ");
        b.append(a.Name);
        b.append(" ");
        if (a.r != null) {
            b.append(ts(a.r));
        }
        return b.toString();
    }

    @Override
    public String toString() {
        String b = ts(root);
        return b;
    }

    private void add(int i, String b, Node a) {
        if (b.compareTo(a.Name) < 0) {
            if (a.l == null) {
                Node c = new Node(i, b);
                a.l = c;
            } else {
                add(i, b, a.l);
            }
        } else {
            if (a.r == null) {
                Node c = new Node(i, b);
                a.r = c;
            } else {
                add(i, b, a.r);
            }
        }
    }

    public static void main(String[] args) {
        TreeP1 t = new TreeP1();
        t.addt(5, "dbalik");
        t.addt(7, "dalik");
        t.addt(6, "balik");
        t.addt(5, "zalik");
        t.addt(5, "alik");
        t.addt(6, "zralik");
        t.addt(6, "halik");
        t.addt(7, "malik");
        System.out.println(t);

    }

}