/*
名稱:頭插法插入鏈表節點
功能:在鏈表頭節點後插入一個鏈表節點
接收:鏈表頭節點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;
}
頭插法插入鏈表節點
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.