这道题做了好几次一直有点小毛病
p的作用是指在L的前边,当在中间插入时就需要用到了
List Insert( List L, ElementType X ){
List t,p,head;
head=L;
p=head;
L=L->Next;
t=(List)malloc(sizeof(struct Node)); //t是带数据的,所以要分配内存
t->Data=X;
t->Next=NULL;
if(L==NULL){ //0节点
head->Next=t;
return head;
}
while(X>L->Data){ //循环
p=L;
L=L->Next;
if(L->Next==NULL){ //末尾的插入
L->Next=t;
return head;
}
}
t->Next=L; //退出循环在中间插入
p->Next=t;
return head;
}