C++实现之单链表中删除指定值 |
您所在的位置:网站首页 › 单链表删除指定元素 › C++实现之单链表中删除指定值 |
解题思路: (1) 新建单向链表; (2) 删除链表中的指定值: 步骤一: 排除特殊情况:头结点值等于需要删除值data,则先直接删除头部节点; 步骤二: 使用快慢指针ptemp, qtemp; if ptemp->Getdata == e qtemp->Getnext = ptemp->Getnext; 删除ptemp节点 ptemp = qtemp->Getnext; else qtemp = ptemp->Getnext; ptemp = qtemp->Getnext; bool LinkList::ElemDeleLinkList() //删除指定值 { int e = 0; cout e; cout Getdata() == e) { // 排除链表头指定值的情况 Node* ptemp; ptemp = m_Head; m_Head = m_Head->Getnext(); delete ptemp; } Node* ptemp, * qtemp;// p:较快地指针, q:较慢指针 ptemp = qtemp = m_Head; while (ptemp != NULL) { if (ptemp->Getdata() == e) {// 第一个p肯定不会是data qtemp->Setnext(ptemp->Getnext()); delete ptemp; ptemp = qtemp->Getnext(); } else { qtemp = ptemp; ptemp = ptemp->Getnext(); } } return true; }实现效果如下: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |