【发布时间】:2011-06-12 19:28:28
【问题描述】:
我目前正在尝试理解 C++ 中的列表、堆栈和队列。我正在复习我的测试,遇到了一个问题,询问"efficiently implement a queue class using a singly linked list, with no header or tail nodes."
我有点难过,有人知道怎么做吗?
【问题讨论】:
标签: c++ visual-studio-2010 visual-c++
我目前正在尝试理解 C++ 中的列表、堆栈和队列。我正在复习我的测试,遇到了一个问题,询问"efficiently implement a queue class using a singly linked list, with no header or tail nodes."
我有点难过,有人知道怎么做吗?
【问题讨论】:
标签: c++ visual-studio-2010 visual-c++
提示:队列通常使用循环缓冲区实现。您将如何使用单链表创建一个圈子?
【讨论】:
您需要跟踪指向列表中头部和尾部项的指针。
添加新项目时,将尾项目的next指针指向新项目,然后更新尾指针。
要从列表的前面删除一个项目,只需返回头项目,然后更新头指针。
【讨论】: