供参考:
SingleLinkedList *ListInsert(SingleLinkedList *L,ElemType x)
{
SingleLinkedList *p=L,*q,*pre=NULL;
q=(SingleLinkedList *)malloc(sizeof(SingleLinkedList));
if (q == NULL) exit(1);
q->data = x;
q->next = NULL;
while(p && p->data < x)
{
pre = p;
p = p->next;
}
if(p == L)
{
q->next = L;
L = q;
}
else{
q->next = pre->next;
pre->next= q;
}
return L;
}