LinkedList list = blah BirdLinkedList sort = new BirdLinkedList(null); while(list.head != null) { BirdNode n = list.head; BirdNode highest = n; while(n != null) { if(n.count > highest.count) highest = n; n = n.next; } sort.insertEnd(highest); list.remove(highest); }