pBook add_linkman(pBook head) {
int n; scanf("%d", &n);
pBook tail = head;
while (tail->pNext) tail = tail->pNext;
while (n--) {
pBook node = malloc(sizeof(Book));
scanf("%s%s%s%d%d", node->name, node->sex, node->addr, &node->year, &node->phone_num);
node->pNext = NULL;
tail->pNext = node;
tail = node;
}
return head;
}
pNext;
while (cur) {
if (strcmp(cur->name, name) == 0) {
prev->pNext = cur->pNext;
free(cur);
puts("刪除成功");
return head;
}
prev = cur; cur = cur->pNext;
}
puts("未找到");
return head;
}
name, p->sex, p->addr, p->year, p->phone_num); }
與文件版差異
write_file/read_file/amend_file 文件同步邏輯。鏈表通訊錄是「動態記憶體 + 指針操作 + 選單驅動」的綜合練習。掌握頭節點哨兵、尾插法、雙指針刪除、遍歷釋放四大核心模式,即可舉一反三實現棧、隊列、哈希桶等結構。