登 录
如何做到从无头单链表中删除节点?指定欲删除的结点指针B,可以指向下一个结点C,却无法得到上一个结点A的指针。从而无法删除B结点。
于是换一种思路,将C结点的数据拷贝到B结点,然后把C结点删除,达到删除B结点的目的。
void DeleteRandomNode(Node *pCurrent) { ASSERT(pCurrent!=NULL); Node *pNext = pCurrent->next; if (pNext!=NULL) { pCurrent->data = pNext->data; pCurrent->next = pNext->next; delete pNext; } }
抱歉!评论已关闭.