Katelisa 2022-03-17 10:45 采纳率: 86.4%
浏览 23
已结题

请问此程序能否将新的元素插入在单链表的最后一个元素后面,并解释原理

int InsList(LinkList L, int i, ElemType e)
{ Node *pre, *s;

if (i<1)  return ERROR;
pre=( (i==1) ? L : Get(L,i-1) );  // 找插入位置的前驱
if (pre==NULL)
    { printf(";插入位置不合理!";);  return ERROR; }
s=(Node *)malloc(sizeof(Node));
s->data=e;  s->next=pre->next;  pre->next=s;
return OK;

}

  • 写回答

1条回答 默认 最新

  • bekote 2022-03-17 11:37
    关注

    可以,链表关系如下,其中蓝色箭头表示的是指针,黑色方块表示链表节点,每个节点由数据data和指向下一个节点的指针next构成,假设pre的下一个节点叫t,s=(Node *)malloc(sizeof(Node));s->data=e;,是创建一个指针s,指向存放着e数据的节点,也就是说s就是要插入的节点

    img

    s->next=pre->next; pre->next=s表示的就是把s的下一个指向pre的下一个,也就是t,然后把pre的下一个指向s

    img

    这样就完成了s的插入

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月17日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失