c++ 链表问题,如何将删除指定元素的代码修改为删除全部值为x的元素?

void LinkList::DeleteElemAtPoint(DataType data)
{
ElemType * ptemp = Find(data); //查找到指定数据的节点位置
if (ptemp == head->next) { //判断是不是头结点的下一个节点,如果是就从头部删了它
DeleteElemAtHead();
}
else
{
ElemType * p = head; //p指向头结点
while (p->next != ptemp) //p循环到指定位置的前一个节点
{
p = p->next;
}
p->next = ptemp->next; //删除指定位置的节点
delete ptemp;
ptemp = NULL;
}


c++

1个回答

Find的代码在哪里,可以对它修改。
假设是
ElemType * find(DataType data)
{
ElemType * p = head;
while (p != NULL)
{
if (p->值域 == x) return p;
p = p->next;
}
return NULL;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问