Esempio n. 1
0
    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;
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
 public GenericDsQueueItem(T value)
 {
     this.value = value;
     next       = null;
 }
Esempio n. 4
0
 public GenericDsQueue()
 {
     front = null;
     rear  = null;
 }