public class GenList { private Node head; private class Node { private T data; private Node next; private Node(T item) { data = item; next = null; } } public GenList () { head = null; } public void dumplist() { Node p = head; while ( p != null ) { System.out.print(p.data + " "); p = p .next; } System.out.println(); } public void insert(T item) { Node n = new Node(item); n.next = head; head = n; } public void delete(T item) { Node cur = head, back = null; boolean found = false; while (cur != null) { if (cur.data.equals(item)) { if (back == null) head = cur.next; else back.next = cur.next; break; // leave the loop } else { back = cur; cur = cur.next; // move to the next node } } } }