我被要求編寫一個使用循環鏈接的節點鏈來表示隊列中的元素的基於鏈接的實現。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