/*
思路:
面对这题,我们首先要冷静。
可以先从常规想,既然要插入一个结点,可以把它分成两大类:之前有无节点,如果有,根据判断条件,将其插到符合节点的后面,但你又的思考,插入位置是头部还是中间。
第二大类:就是如果之前没提供节点,那么插入的节点就是这个链表唯一的节点,切记还有一种情况。
*/
int insertNode(Node **head,Node *newNode)
{
Node *p=*head;
Node *q=*head;
while(p!=NULL)
{
if(p->id >newNode->id)
{
newNode->next=p;
if(p==*head)
{
*head=newNode;
}
else
{
q->next=newNode;
}
return 0;
}
q=p;
p=q->next;
}
//如果是空链表
if(*head==NULL)
{
*head=newNode;
}
else{
q->next=newNode;
newNode->next=NULL;
}
}