猿问

数据结构中的这个判断条件怎么理解?

Status ListInsert(Linklist *L, int i, ElemType e)
{	//在带头结点的单链线性表L中第i个位置之前插入元素e 	
Linklist p = *L;	
int j = 0;		
while(p != NULL && j < i - 1)  //寻找第i - 1个结点 	
{		
p = p->next;		
j++;	
}
//下面if语句中的判断条件这么理解?
//为什么能表示i小于1或者大于表长加1,完全读不懂,求大神指点。 	
if(!p || j > i - 1)  //i小于1或者大于表长加1 		
return ERROR;		
Linklist s =(Linklist)malloc(sizeof(LNode));   //生产新结点	
s->data = e;    //插入L中 	
s->next = p->next;	
p->next = s;		
return OK;
}


乔巴之无所不能
浏览 781回答 1
1回答

乔巴之无所不能

我知道为什么了!思考了3天。这样太慢了。画图很好理解。以前画图错了。为什么写在了数据结构书上了。
随时随地看视频慕课网APP

相关分类

数据结构
我要回答