删除无头单链表的非尾节点:可以转化为删除该节点的下一个节点,删除之前把之传给该节点即可。
可以不要返回值,此处我加上返回值信息是为了判断是否删除成功。
int DelNotTail(Node* pos) //删除非尾节点
{
if(pos == NULL || pos->_next == NULL)
return -1;
else //让pos保存pos下个节点的值,然后删除pos的下个节点
{
Node* pTemp = pos->_next;
pos->_data = pTemp->_data;
pos->_next = pTemp->_next;
delete pTemp;
return 1;
}
}