首先,必须清楚链表在构造的时候,头结点是否使用,也就是说头结点是否就是第一个结点。如果头结点数据为空,使用以下的访问格式:
LinkNode* p=head->next; //头结点是不可用结点,故应该使用p=head->next
while(p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
如果头结点保存数据的话,则通过以下方式访问数据:
LinkNode* p=head; //头结点是可用结点,故应该使用p=head。如果还是使用原来的方式,则无法得到第一个元素的值。
所以,在使用单链表的之前,我们必须要确定我们的是否使用了头结点,如果这一点没有注意的话,那么在后续操作中好点的话只是会少计算一个元素的值,但是,严重的情况会导致错误(在释放内存的时候)。