解法一:用p从头至尾扫描单链表,pre指向*p结点的前驱。若p所指结点的值为x,则删除,并让p移向下一个结点,否则让pre、p指针同步后移一个结点。 本题代码如下: 纯文本新窗口 1.void Del_X_1(Linklist &L, ElemType x){ 2.//L为带头的单链表,本算法删除L中所有值为x的结点 ...
1.void Del_X_2(Linklist &L, ElemType x){ 2.//L为带头的单链表,本算法删除L中所有值为x的结点 3.LNode *p=3->next, *r=L, *q; //r指向尾结点,其切值为头结点 4. 5.while(p!=NULL){ 6.if (p->data!=x) { //*p结点值不为x时将其链接到L尾部 ...