UNB/ CS/ David Bremner/ teaching/ cs1083/ java/ SortedList2.java
public class SortedList2<T extends Comparable<T>> {
    private ComparableNode<T> first, last;

    public SortedList2(){
        first = null;
        last = null;
    }

    public void insert(T key) {
        ComparableNode<T> node = new ComparableNode<>(key);

        if (first == null) {
            first = node;
            last = node;
        } else {
            ComparableNode<T> current=first;

            while (current.getNext() != null &&
                   node.compareTo(current.getNext()) > 0) {
                current=current.getNext();
            }
            if (current.getNext() == null) {
                current.setNext(node);
            } else {
                node.setNext(current.getNext());
                current.setNext(node);
            }
        }
    }
        public void print(){
        for (ComparableNode<T> cursor=first; cursor != null ;
             cursor=cursor.getNext()){
            System.out.println(cursor.getData());
        }
    }


    public static void main(String[] args){

        String[] names={"bob", "rudolph", "dasher", "prancer", "dancer", "mary","joe","fred"};

        SortedList2<String> a=new SortedList2<>();

        for (int i=0; i < names.length; i++){
            a.insert(names[i]);
        }

        a.print();
    }



}