public class BinSokeTre { protected BinNode rot; protected int antallNoder = 0; public void settInn(Comparable x) { if (rot == null) { rot = new BinNode(x); antallNoder++; } else { settInn(x, rot); } } private void settInn(Comparable x, BinNode n) { int i = sammenlign(x, n.element); if (i < 0) { if (n.venstre == null) { n.venstre = new BinNode(x); antallNoder++; } else { settInn(x, n.venstre); } } else if (i > 0) { if (n.hoyre == null) { n.hoyre = new BinNode(x); antallNoder++; } else { settInn(x, n.hoyre); } } else { oppdater(n, x); } } protected void oppdater(BinNode n, Comparable x) { } protected int sammenlign(Comparable n1, Comparable n2) { return n1.compareTo(n2); } public void skrivInnfiks() { innfiks(rot); } private void innfiks(BinNode n) { if (n != null) { innfiks(n.venstre); System.out.println(n.element); innfiks(n.hoyre); } } public int size() { return antallNoder; } public BinNode getRot() { return rot; } }