05编程实现单链表的节点插入

来源:互联网 发布:ping mac地址 编辑:程序博客网 时间:2024/04/30 00:57
/*单链表pos位置处插入节点,返回链表头指针*/
/*pos从0开始计算,0表示插入到head节点后面*/
node *insert_node(node *head , int pos , int data)
{
node *item = NULL;
node *p;
item = (node *)malloc(sizeof(node)); /*新建插入的节点*/
item->data = data; /*给新节点赋值*/

if(pos == 0) /*插入链表头后面*/
{
head->next = item; /*head后面是item*/
return head;
}

p = search_node(head , pos); /*获得位置pos的节点指针*/
if(p != NULL)
{
item->next = p->next; /*item指向原pos节点的后一个节点*/
p->next = item; /*把item插入到pos的后面*/
}
return head;
}