s->next=a->next;
a->next=s;
s.next = p->next;
p->next = s;
node * insert(node * head, int x)
{
node * last, * current, * p;
//要插入的结点
p = (node *)malloc(sizeof(node));
p->num = x;
//空表插入
if(head == NULL)
{
head = p;
p->next = NULL;
return head;
}
//找插入位置
current = head;
while(x > current->num && current->next != NULL)
{
last = current;
current = current->next;
}
if(x <= current->num)
{
if(head == current)//在第一结点之前插入
{
p->next = head;
head = p;
return head;
}
else//中间位置插入
{
p->next = current;
last->next = p;
return head;
}
}
else//链尾插入
{
current->next = p;
p->next = NULL;
return head;
}
}