(1)这里应该填什么

img


其他都能看懂,这里却有点迷茫了,看不懂,希望有人来帮助我一下,谢谢

因为头结点不存储数据,所以要从下一个结点开始遍历
p=L->next;

按照c语言里的数据结构,LNode是一个节点数据结构,根据题目猜测应该是类似下面的数据结构:

struct{
  ElementType data;
  LNode* next;
} LNode

而LinkList是一个包含N个LNode的链表,通常LinkList里面包含了一个指向链表头部的LNode的指针,这个指针可能取名为top或者next,类似下面的结构:

struct {
  LNode* next;
} LinkList

当需要遍历链表的时候,首先我们需要取到链表头部的LNode,也就是(1)这个地方需要填写的是p=L->next。这个时候p指针指向的是链表的第一个节点。然后我们需要判断指针指向的节点是否为空(null),所以(2)这个地方可以填p,或者更容易懂一点就是p!=null。后面就可以取p里面的数据进行操作。处理完数据后,通过p=p->next,让p指针指向下一个节点,直到遍历结束即p指向的节点为空的时候。