欢迎使用CSDN-markdown编辑器

来源:互联网 发布:自学php找工作 编辑:程序博客网 时间:2024/06/08 18:09

设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点。


解答:

void Del_X_3(Linklist &L, ElemType x){    //递归实现单链表L中删除值为x的结点    LNode *p;           //p指向待删除结点    if(L==NULL){        //递归出口,不带头结点L为空表的        return;         //表示    }    if(L->data==x){     //若L所指结点的值为x        p=L;            //删除*L,并让L指向下一结点        L=L->next;              free(p);        Del_X_3(L,x);   //递归调用    }    else{        Del_X_3(L->next,x);//递归调用    }}