public void Enqueue(T value) { var newItem = new GenericDsQueueItem <T>(value); if (front == null && rear == null) { front = rear = newItem; return; } rear.next = newItem; rear = newItem; }
public T Dequeue() { T frontValue = default(T); if (front == null) { throw new Exception("empty queue"); } if (front == rear) { front = rear = null; } else { frontValue = front.value; front = front.next; } return(frontValue); }
public GenericDsQueueItem(T value) { this.value = value; next = null; }
public GenericDsQueue() { front = null; rear = null; }