在单向链表中指定节点后插入

2024 年 9 月 5 日 | 阅读 3 分钟
  • 为了在链表中跳过指定数量的节点后插入一个元素,我们需要跳过列表中的所需数量的元素,将指针移动到将插入节点的节点之后的位置。这将通过使用以下语句完成。
  • 为新节点分配空间,并将其项添加到数据部分。这将通过使用以下语句完成。
  • 现在,我们只需要做一些链接调整,我们的节点就可以在指定位置插入了。因为,在循环结束时,循环指针 temp 将指向将插入新节点的节点。因此,新节点 ptr 的下一部分必须包含 temp 的下一部分的地址(因为 ptr 将介于 temp 和 temp 的下一个之间)。这将通过使用以下语句完成。

现在,我们只需要让 temp 的下一部分指向新节点 ptr。这将把新节点 ptr 插入到指定位置。

算法

  • 步骤 1: 如果 PTR = NULL
  • 写入溢出
        转到步骤 12
       IF 结束

  • 步骤 2: 设置 NEW_NODE = PTR
  • 步骤 3: NEW_NODE → DATA = VAL
  • 步骤 4: 设置 TEMP = HEAD
  • 步骤 5: 设置 I = 0
  • 步骤 6: 重复步骤 5 和 6 直到 I
  • 步骤 7: TEMP = TEMP → NEXT
  • 步骤 8: 如果 TEMP = NULL
  • 写入“未找到所需节点”
         转到步骤 12
        IF 结束
     循环结束

  • 步骤 9: PTR → NEXT = TEMP → NEXT
  • 步骤 10: TEMP → NEXT = PTR
  • 步骤 11: 设置 PTR = NEW_NODE
  • 步骤 12: 退出
Insertion in singly linked list after specified Node

C 函数

输出

Enter the item which you want to insert?
12

Node inserted

Press 0 to insert more ?
2

下一主题#