我正在尝试使用以下命令将节点添加到链接列表的前面:
struct Node *addFront(struct List *list, void *data) {
到目前为止,我有以下内容:
struct Node *front = (struct Node *) malloc(sizeof(struct Node)){
if(front == NULL) {
return NULL;
}
front->data = data;
if(list->head == 0) {
list->head = front;
front->next = NULL;
}
else {
list->head = front;
*front->next =*
}
return front;
}
如果添加的节点不是要创建的第一个节点,我会感到困惑...我想说的是: front-> next = list; 但是list是List类型的,所以我确定我会得到一些不兼容的赋值错误。最好的方法是做什么?
答案 0 :(得分:0)
Node *oldHead = list->head;
list->head = front;
front->next =oldHead;
存储旧头部,并将其分配给front->next
。
或者只是
front->next =list->head;
list->head = front;
就够了。