我的代码哪里错了啊,我刚学链表,我感觉理论上没有错,但是它编译是错的
element是一个指针,你的while循环里第一个if的判断条件却用p->data与element进行相等判断。应该使用p->next == element. 代码需要改成:
LLIST *p, *q;
p = list;
while(p != NULL && p === element) {
p = p->next; // 如果element是头指针,就要把头指针删除
}
while(p != NULL) {
if (p->next == element) {
p->next = p->next->next; // 如果下一个节点是element,就要修改next指针,跳过它
} else {
p = p->next;
}
}