List Insert( List L, ElementType X )
{
List head=L;
L=L->Next;
List p=(List)malloc(sizeof(List));
p->Data=X;
p->Next=NULL;
List q=head;
if(L==NULL)
{
head->Next=p;
return head;
}
while(L->Data<X)
{
q=L;
L=L->Next;
if(L->Next==NULL)
{
L->Next=p;
return head;
}
}
p->Next=L;
q->Next=p;
return head;
}
这个题有个以前从来没见过的坑点,就是他这个单链表自带了一个头结点,导致我第一次提交的时候出现了段错误。我们先设一个头指针用来最后return ,然后将L指向L的下一位。然后我们向后插入,如果链表为空便直接插入。最后返回头指针。