即使知道我们要查找的是第i个节点,我们也无法直接到达,因为节点并不是顺序存储,我们只能从头指针出发,顺链域next逐个结点往下搜索,直到搜索到ai为止。
//查找第i个节点
int FindElem(LinkList &L, int &e, int i)
{
LNode *p;
p = L->next; //p指向首节点
int j = 1; // j表示第几个节点
if (i < 1)
return 0;
while (p != NULL && j < i) //p后无节点了或者找到第i个节点
{
p = p->next;
j++;
}
if (p == NULL)
return 0;
e = p->date;
return 1;
}