网站服务建站小程序
- 两个单向链表的合并:
创建
两个单向链表p1和p2,合并
p1和p2即可,代码如下:- 示例代码:
int merge_2_link_list(node_t *p1,node_t **p2){if(NULL == p1 || NULL == p2 || NULL == *p2){printf("入参合理性检查\n");return -1;}node_t *ptemp = p1;while(NULL != ptemp->next){ptemp = ptemp->next;}ptemp->next = (*p2)->next;free(*p2);*p2 = NULL;return 0;
}
- 操作步骤:
- 1.入参合理性检查;
- 2.找到
p1的最后一个
数据结点; - 3.让p2的指针域,即
p2的第一个结点的指针指向p1的最后一个结点的指针域
,即ptemp->next = (*p2)->next
; - 4.释放p2的头结点的地址,并赋值NULL,防止野指针产生;