我目前在學習各種鏈表的隊列和棧。我正在閱讀關於各種隊列功能的一些筆記。我無法理解提供的出隊功能。隊列鏈接列表出隊函數
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