单链表的单向性,导致它只能寻找后一个节点,由于这个链表的头节点没有给出,那就将下一个节点的 复制到这个节点上,但得记住刚才节点的位置,这样才能释放这个节点,达到删除这个节点的目的。
对于节点的构造,就是上一篇的:http://blog.csdn.net/my_heart_/article/details/51527361
void DeleteNotTailNode(PNode pos)//删除一个无头单链表的非尾节点
{
PNode Ppos = NULL;
assert(pos);
Ppos = pos->pNext;
pos->data = pos->pNext->data;
pos->pNext = pos->pNext->pNext;
free(Ppos);
Ppos = NULL;
}