我目前在学习各种链表的队列和栈。我正在阅读关于各种队列功能的一些笔记。我无法理解提供的出队功能。队列链接列表出队函数
void CintQueue::Dequeue(int& item) //Remove front Item from the Queue
{
Node *TempPtr;
TempPtr = m_qFront;
item = m_qFront->data;
m_qFront = m_qFront->next;
if (m_qFront == NULL)
m_qRear = NULL;
delete TempPtr;
}
我不明白为什么有一个参数被传递给出队。它的目的是什么?我从代码中看到它正在从前端节点分配数据值,但函数dequeue没有返回值,所以我不明白它的用途。有人可以解释这个功能是如何工作的吗? 是否需要单独的函数来获取从队列中删除的值?
看起来更像是一个'pop_front',你可以在这里删除头部元素然后返回它,只有在这里,而不是返回它,你需要一个输出参数。 – AndyG