2.1删除不带头结点的单链表L中值为x的结点

/* 用于数据结构第二章线性表的综合应用题*/
//深度 O(n),空间复杂度O(n)
#include <iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
//2.1
//设计一个递归算法,删除不带头结点的L中所有值为x的结点

typedef struct LNode
{
    int data;
    struct LNode *next;
} LNode,*LinkList;
int  main()
{
    return 0;
}

void Del_X_3(LinkList &L,int x)
{
    LNode *p;//p指向待删除结点
    if(L==NULL)
        return ;
    if(L->data==x)
    {
        p=L;
        L=L->next;
        free(p);
        Del_X_3(L,x);//递归调用
    }else
        Del_X_3(L->next,x);//递归调用


}

 

posted @ 2016-08-04 13:16  多思考&&多动手  阅读(1230)  评论(0编辑  收藏  举报