单链表节点的插入
单链表节点的插入
在单链表中某位置(pos个节点)后面插入节点
1.插入到链表首部
2.插入到链表中间
3.插入到蓝标尾部
单链表某个位置插入节点,返回链头指针,pos从0开始计算,0表示插入到head节点后面
node *insert_node(node *head,int pos,int data)
{
node *item=NULL;
node *p;
item=(node *)(sizeof(node));
item->data=data;
if(pos==0)//插入到链表头后面
{
head->next=item;
return head;
}
p=search_node(head,pos);//获得pos的节点指针,查找search_node函数见我的上篇文章
if(p!=NULL)
{
item->next=p->next;
p->next=item;
}
return head;
}
在单链表中某位置(pos个节点)后面插入节点
1.插入到链表首部
2.插入到链表中间
3.插入到蓝标尾部
单链表某个位置插入节点,返回链头指针,pos从0开始计算,0表示插入到head节点后面
node *insert_node(node *head,int pos,int data)
{
node *item=NULL;
node *p;
item=(node *)(sizeof(node));
item->data=data;
if(pos==0)//插入到链表头后面
{
head->next=item;
return head;
}
p=search_node(head,pos);//获得pos的节点指针,查找search_node函数见我的上篇文章
if(p!=NULL)
{
item->next=p->next;
p->next=item;
}
return head;
}