【发布时间】:2015-11-13 22:24:35
【问题描述】:
我目前正在学习各种链表队列和堆栈。我一直在阅读有关各种队列功能的一些笔记。我无法理解提供的 dequeue 函数。
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,您在其中删除头部的元素然后返回它,只是在这里而不是返回它,您需要一个输出参数。
标签: c++ linked-list queue