永发信息网

在顺序表中增加一个成员函数dele1(char & x),将顺序表中的指定元素 x (假定线性表中无重复元素)删除,试编写该函数完成其功能.

答案:1  悬赏:30  手机版
解决时间 2021-07-20 10:22
  • 提问者网友:活着好累
  • 2021-07-19 19:07

如题:

在顺序表中增加一个成员函数dele1(char & x),将顺序表中的指定元素 x (假定线性表中无重复元素)删除,试编写该函数完成其功能.

是用C++语言编写的。谢谢啦...

最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-07-19 19:30

大概写了下. 有问题还请追问.


ElemType dele1(char & x)
{
NodeType *p,*q;
bool y=true;

p=Head; //p指向头节点
q=p->next; //q指向下一个节点.

while(q!=NULL && q->data!=x) //利用while循环找到链表中值为x的节点.
{
p=q; //p用于存储该节点的上一节点.
q=q->next;
} //while循环结束条件,要么在链表当中找到该元素,要么链表结束.
//如果找到该元素.q指向要删除的节点. p指向q的上一个节点. 否则q指向链表的结点.


if(q->data==x) //判断在链表当中是否找到该元素.
{ //找到的话则执行将该节点删除的操作.
y=q->data;
p->next=q->next; //将要删除的节点孤立. 就是将上一个节点的next指针置为下一个节点的地址.
delete q; //释放节点.
cout<<"记录成功删除!"<<endl;
}
else //没有找到就输出不存在.
{
cout<<x<<"不存在于链表当中!"<<endl;
y=false; //返回false,表示删除失败.
}
return y;
}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯