我被要求编写一个使用循环链接的节点链来表示队列中的元素的基于链接的实现。C++一个带有一个外部指针的链接节点的循环链
另外,只使用单一的尾指针像这样: Figure 14-3
,我所面临的问题是,我不能背面节点指针连接到第一,因为我只允许使用一个单一的尾指针。
我使用的类:
#include "Queue.h"
#include "Node.h"
template<class T>
class CircularLinkedQueue : public Queue<T> {
private:
Node<T>* back;
int length;
public:
CircularLinkedQueue();
virtual ~CircularLinkedQueue();
bool isEmpty() const;
bool enqueue(T* element);
T* dequeue();
T* peek() const;
};
我有麻烦的代码行:
back->setNext(??); // How do I connect it to the front?
请帮我指出了正确的方向,我一直在寻找周围的东西相似但我找不到任何东西。 谢谢!
我相信你误解了我的问题。我正在处理的只是一个节点,它放在后面的原因是,所以我不必遍历链表来到达前面。后面必须简单地将(setNext())指向前面,没有迭代器,也没有额外的外部指针。 – mark