/*
名称:头插法插入链表节点
功能:在链表头节点后插入一个链表节点
接收:链表头节点head, 插入节点的int型数据
返回:int
*/
int insertLink_head(struct node* L, int data){
//定义一个指向链表节点的指针
struct node *nodePtr;
//当链表为空链表时
if ((L->next) == NULL){
//给节点分配空间
if (!(nodePtr = (struct node*)malloc(sizeof(struct node))))
return -1;
//把值付给新节点的数据域
nodePtr->data = data;
//把心节点的指针域置空
nodePtr->next = NULL;
//把新节点连在头节点后,完成插入
L->next = nodePtr;
}
//当链表非空时
else{
//给节点分配空间
if (!(nodePtr = (struct node*)malloc(sizeof(struct node))))
return -1;
//把值付给新节点的数据域
nodePtr->data = data;
//让新节点的指针指向链表第二个节点(头节点后的第一个节点)
nodePtr->next = L->next;
//让头节点指向新节点,完成插入 注意顺序,如果先让头节点的next指向了新节点 则会出现断链的情况
L->next = nodePtr;
}
return 0;
}
头插法插入链表节点
最新推荐文章于 2022-08-08 17:55:05 发布