internal T Dequeue( ) { var tempHead = head; if (head != null && head.next != null) { head = head.next; return(tempHead.data); } head = null; tail = null; return(default(T)); }
internal void Enqueue(T data) { var node = new DSNode <T>(data); if (tail != null) { tail.next = node; } tail = node; if (head == null) { head = node; } }
public DSQueue( ) { head = null; tail = null; }
public DSNode(T data) { this.data = data; this.next = null; }