#include <iostream>
using namespace std;

struct Node
{
    Node *next;
    int elem;
};

void creatList(Node* &head)
{
    head = new Node;
    int elem;
    cin>>elem;
    head->elem = elem;
    Node *p = head;
    while(cin>>elem&&elem)
    {
        Node *q = new Node;
        q->elem = elem;
        p->next = q;
        p = p->next;
    }
    p->next = NULL;
}
void printList(Node* &head)
{
    cout<<head->elem<<" ";
    Node *p = head->next;
    while(p)
    {
        cout<<p->elem<<" ";
        p = p->next;
    }
    cout<<endl;
}
void removeX(Node* &head,int x)
{
    Node *p;
    if(head == NULL)
        return;
    else if(head->elem == x)
    {
        p = head;
        head = head->next;
        free(p);
        removeX(head, x);
    }
    else
        removeX(head->next, x);
}
int main()
{
    Node *p;
    creatList(p);
    printList(p);
    removeX(p, 4);
    printList(p);
    return 0;
}

 

 posted on 2014-06-08 16:51  Clivia_zhou  阅读(381)  评论(0编辑  收藏  举报