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

xiaoxiao2021-02-28  76

【解析】:

      向单链表中某个位置处(第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++程序员面试秘笈》

转载请注明原文地址: https://www.6miu.com/read-70325.html

最新回复(0)