在带头结点的单链表L中,删除所有结点为x的结点,并释放其空间,假设值为x的结点不唯一。 void Del_x(LinkList &L,Elemtype x){ Node*p=L->next;//从第一个结点开始往后查找; Node*pre=L;//p的前驱 Node*q;//暂存要删除的点 while(p!=NULL){ if(p->data==x){ q=p;//q指向p p=p->next;//p指向q后面的结点 pre->next=p;//删除q结点 delete(q); }else{ pre=p; p=p->next; } } }