给定一个单向链表,目前已经有一个指针,指向某一个节点(记作A),现在要删除这个节点A,如何操作。

来源:互联网 发布:手机淘宝直通车怎么弄 编辑:程序博客网 时间:2024/06/05 06:25

//请朋友帮我写的一个C++算法。


pNode已知;

node* pPreNode;
if ( !pNode )
return;

pPreNode = pNode->head;

if ( !pPreNode )
return; // 头节点不合法

if ( pPreNode == pNode )
return; // 只有一个节点

do
{
    if ( pPreNode->next == pNode)
   {

           pPreNode->next = pPreNode->next->next;

           delete pNode;

           pNode=NULL;

           break;
   }
}

while ( pPreNode = pPreNode->Next && !pPreNode);

原创粉丝点击