注意事项:
插入节点,新链表一定要从前往后进行连接
删除节点,新链表一定要从前往后进行连接
1、单链表的插入节点
node * insert(node* head,int num)
{
node * p0,*p1,*p2;
p0=head;
p1=p0->next;
p0->data=num;
while(p0->data>p1->data&&p1->next!=NULL)
{
p2=p1;
p1=p1->next;
}
if (p0->data<p1->data)
{
if(head==p1)
{
head=p0;
p0->next=p1;
}
else{
p2-next=p0;
p0->next=p1;
}
}
else{
p1->next=p0;
p0->next=NULL;
}
return head;
}
2、单链表删除节点
node *del(node *head,int num)
{
node * p1,*p2;
p1=head;
while(num!=p1->data&&p1->next!=NULL)
{
p2=p1;
p1=p1->next;
}
if(num==p1->data)
{
if(head==p1)
{
head=p1->next;
free(p1);
}
else{
p2->next=p1->next;
}
}
else{
printf("\n%d could not been found",num);
}
return head;
}