标签:
题目:有一个单链表,没有头指针,现在有一个指针指向这个链表的中间的一个节点,要求删除这个节点。
方法:由于没有办法寻求指针去找到要删除的这个节点的前一个节点。
所以要另想办法。
设立新的指针指向要删除的节点的后一个节点,然后把这两个节点里面的数据换一下!然后删除要删除节点的后一个节点!
这样 就ok了!
代码:
void DeleteRandomNode(node *pCurrent) { assert(pCurrent != NULL); node *pNext = pCurrent->next; if(pNext != NULL) { pCurrent->next = pNext->next; pCurrent->data = pNext->data; delete pNext; } }
标签:
原文地址:http://blog.csdn.net/u010470972/article/details/45485411