链表位置合法性判断
//删除元素并返回其数据域的值
void ListDelete(LinkList *L,int i,ElemType *e)
{
Node *p = *L,*q;
int j=0;
while((p->next)&&(j<i-1))
{
p=p->next;
j++;
}//运行完后指向第i-1个结点
if(!(p->next)||(j>i-1))
Error("Position Error!");
q=p->next;
*e=q->data;
p->next=q->next;
free(q);
}
第十二行这里j<i-1排除的的是哪一种情况,是i是负数吗?
排除的是i是零和i是负数的情况
页:
[1]