发布网友 发布时间:2022-04-20 11:25
共1个回答
热心网友 时间:2023-06-26 13:22
解析:设置p,q两个标志,用于确定结点位置。while中的条件为p不空(即p没有到链表末尾)和p所指的结点数据不等于data,若两个条件都满足,p向下一个结点移动,q取代p原来的位置;若前一个条件满足,后一个条件不满足(即p所指的结点数据等于data),则跳出循环,此时p指向满足条件的结点,显然p不为空,故进入else,删除p所指结点需要两步,第一步是:
q->next=p->next,即将q的下一个结点指向p的下一个结点(q的下一个结点原本是p,这样操作相当于在链表中删除了p所指结点)。
第二歩是:free(p),即释放p所指结点。
故答案为:将q=p->next改为q->next=p->next。
望采纳!