单链表的查找算法?
ListNode* GetNode(LinkList head,int i){//在带头结点的单链表head中查找第i个结点,若找到(0≤i≤n),
//则返回该结点的存储位置,否则返回NULL。
int j;
ListNode *p;
p=head;j=0;//从头结点开始扫描
while(p->next&&j<i){//顺指针向后扫描,直到p->next为NULL或i=j为止
p=p->next;
j++;
}
if(i==j)
return p;//找到了第i个结点
else return NULL;//当i<0或i>0时,找不到第i个结点
}
这是一个链表的查找算法,但是它的返回值是个指针,这点不太懂?为什么返回指针?