coisini002 2023-02-23 15:58 采纳率: 51.3%
浏览 20
已结题

删除p所指的结点时需修改指针

img

2、 在双向链表存储结构中,删除p所指的结点时需修改指针
这两个双链表的操作可以画个图吗,总感觉有点不对劲,

  • 写回答

2条回答 默认 最新

  • boonion 2023-02-23 16:39
    关注

    你把可以把它理解为牵着狗的一条链子,然后你把中间某个链扣去掉,然后再接回链子。
    就是你要删掉P点 ,那么P点的前一个节点,指向下一个节点的指针是不是要指向P 点的下一个节点呢

    p的前一个节点q <--- p ---> p的后一个节点b

    就是 p->rlink 指针是指 q节点
    就是 p->link 指针是指 b节点

    好啦,现在前后节点都找到了 q b , 我们把它们链接起来

    就是 q->link 原来p的前一个节点的link指针就指向 b 了 这里就是 (p->rlink)->link
    就是 b->rlink 原来p的后一个节点的rlink指针就指向 p 了 这里就是 (p->link)->rlink

    所以

    q = p->rlink;
    b= p->link;
    
    则链接有:
    q->link = b;
    b->rlink= q;
    
    把关系带入代替q、b
    
    (p->rlink)->link = p->link;
    (p->link)->rlink = p->rlink;
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 2月23日

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)