这个人需要休息 2024-03-31 12:25 采纳率: 0%
浏览 4

为什么不能删除最后一个结点

img

 4.删除操作实现                                                                                            中中国大学M
   List Delete(int i,List PtrL)
         Listp,S;
          if(i==11                                             /*若要          删除的是表的第一个结点
               S=PtrL:                                                            rs指向第1个结点
               if(PtrL=NULL)PtrL=PtrL->Next;                                                                广从链表中删除
               else return NULL:
               free(s);                                                            广释放被删除结点
               return PtrL:
           =FindKth(i-1,PtrL);                                                             广查找第1-1个结点"
          iE(p==NULL)
                printfr*第%d个结点不在在"111                                               return NULL;
          ls(p->Next==NULL
                printf(*第%d个结点不存在",D;                                             return NULL
               S=D->NG                                                           rs指向第1个结点"
               p->Next=S->Next;                                                           从链表中删除
               free(s);                                                           广释放被删除结点"
                                                                                               CSDN GEGZYO

那个 else if的作用是啥?

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-03-31 12:25
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    else if 的作用是在第一个条件不满足时,判断第二个条件是否满足。如果第一个条件满足,就直接执行第一个条件下的语句,不会再去判断第二个条件。 在上面的代码中,第一个条件是 i==1,如果满足,则直接删除第一个结点。如果不满足,则需要执行第二个条件,即查找第 i-1 个结点,以便删除第 i 个结点。如果第一个条件不满足,但第二个条件也不满足,就会执行 else 下的语句,返回 NULL。
    评论

报告相同问题?

问题事件

  • 创建了问题 3月31日