链表初级知识求助
下面是单链表的删除操作函数, p和q都是LinkList类型,也就是链表节点类型,为什么还有 q = pnext这种操作,将一个节点的指针域复制赋值给另一个节点?
c
typedef struc
->箭头运算符的左操作数必须是一个指针,它指向一个结构或联合类型,所以p和q都是指针
一般情况下,在你代码中的while循环结束时,指针p已经指向了单链表中将要删除的节点的前一个节点,所以p->next就是将要删除的节点
q=p->next,那么指针q就指向了将要删除的节点
接下来,让将要删除的节点的前一个节点的下一个节点不再是将要删除的节点,而是将要删除的节点的下一个节点,即p->next=q->next
这时删除操作已经完成,然后再通过指针q来找到已被删除的节点中的数据,即q->data