您的位置:首页 > 编程语言

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

2017-08-07 10:37 239 查看
【解析】:

      向单链表中某个位置处(第pos个节点)之后插入节点, 这里分为插入到链表首部、插入到链表中间,以及链表尾端3种情况。//在单链表pos位置处插入节点,返回链表表头指针
//pos从0开始计算,0表示插入到head节点后面

node *insert_node(node *head, int pos, int data)
{
int i = 0;
node *item = NULL;
node *p = head->next;

item = (node *)malloc(sizeof(node)); //新建一个节点item
item->data = data;
if(pos == 0) //插入到链表头后面
{
head->next = item; //head后面是item
return head;
}
while(i < pos -1) //通过循环定位到要插入那个节点之前
{
p = p->next;
++i;
}

item->next = p->next; //item指向原pos节点的后一个节点
p->next = item; //把item插入到pos的后面

return head;

}

摘自《C和C++程序员面试秘笈》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐