【问题标题】:Removing element from dynamic list [closed]从动态列表中删除元素 [关闭]
【发布时间】:2015-04-25 22:09:37
【问题描述】:

我有一个动态列表,其中 a 是当前位置,a-> prev - 上一个元素,a-> next - 下一个元素,我需要删除列表中的一个元素(并设置上一个/下一个相邻元素)

if(a->va == var && a->pa == pav){
        a -> prev -> next = a -> next;
        a -> next -> prev = a -> prev;
        delete a;
    }

【问题讨论】:

标签: c++ arrays dynamic dynamic-list


【解决方案1】:

你必须处理边缘情况。

如果找到的元素是列表中的第一个元素,a -> prev 为 NULL。

同样,如果是最后一个,a -> next 为 NULL。

【讨论】:

  • 你怎么知道没有哨兵节点?
  • 谢谢,还是不行
  • 我不知道......但对我来说这是一个不错的假设。
  • @user2921071:执行不正确?并且问题中没有足够的信息...使用调试器?
  • 知道了...不能直接删除a,需要再创建一个变量,然后赋予a的含义,赋予a的含义->prev/next,然后删除创建变量
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多