假设我正在实现一个链表项目,并且我构造了一个节点:
struct node{
node *prev;
node *next;
int data
};
node *sentinel;
每次我使用 add() 方法时,它都会在列表中不断添加元素,例如:
add(1); //First node
add(2); //Second node
add(3); //Third node
add(4); //Fourth node
add(5); //Fifth node;
所以在我完成添加之后,我想做一个测试让我们说:
node *temp = sentinel->next;
那么 temp 是否指向第一个元素?如果我这样做怎么办:
node *temp = (sentinel->next)-next;
它现在是否指向第二个元素?
如果是,为什么?主要目的是什么
node *sentinel;
我刚开始自学 C++。我将非常感谢你们的回答。
Edit:
我将有一个构造函数将哨兵初始化为:哨兵=新节点();
我会说我的 add() 方法是这样的;
add(int data, index)
{
sentinel *temp = (sentinel->head); //Lets say temp points to the head of list here.
node *toAdd = new node();
toAdd->data = data;
toAdd->next -> temp;
temp->next = toAdd;
}