Removing an element from the Queue ADT

Removing an element can also be performed from the front side only, which is done by using the Dequeue() operation. This is similar to the RemoveHead() operation in the LinkedList data type—removing the current front node and then assigning the next element as the new front element. The implementation should be as follows:

template <typename T>void Queue<T>::Dequeue(){    // Do nothing if list is empty    if(m_count == 0)        return;    // Save the current Front    // to a new node    Node<T> * node = m_front;    // Point the Front pointer    // to the element next to the current Front    m_front = m_front->Next;    // Now it's safe to remove    // the first element    delete node;    // One element is removed    m_count--;}

Similar to the 

Get C++ Data Structures and Algorithms now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.