删除一个无头单链表的非尾节点
分析:例如链表1->2->3->4如果要删除节点3,则将节点4前移,再删除节点3
void EraseNon Tail(ListNode* pos)
{
assert (pos&& pos->next);
ListNode* next=pos->next;
pos->data=next->data;
pos->data=next->next;
free(next);
}
测试:
void TestList1()
{
ListNode*List=NULL;
PushBack(&List,1);
PushBack(&List,2);
PushBack(&List,3);
PushBack(&List,4);
}
ListNode*pos=Find(List,3);
EraseNonTail(pos);