码迷,mamicode.com
首页 > 其他好文 > 详细

TOJ 5347: 数据结构实验:删除链表元素

时间:2018-04-02 01:05:58      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:数据结构   ane   klist   style   lib   创建   完整   otto   查找和删除   

描述

完成链表的创建、元素查找和删除等操作。

部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

void PrintLinkList(Node *head)
{
    int flag = 0;
    Node *p = head->next, *q;
    while(p)
    {
        if(flag)
            printf(" ");
        flag = 1;
        printf("%d", p->data);
        q = p;
        p = p->next;
        free(q);
    }
    free(head);
}

int main()
{
    int n, x;
    scanf("%d", &n);
    Node *head = CreateLinkList(n);
    scanf("%d", &x);
    Node *p = Find(head, x);
    Delete(p);
    PrintLinkList(head);
    return 0;
}

输入

输入数据第一行为n,表示链表元素个数,第二行为n个整数,表示节点元素值(所有元素值不相等)。

第三行为删除的元素值,一定存在于链表中。

输出

输出删除后的链表元素,每个元素值之间用一个空格隔开。

样例输入

 5
1 2 3 4 5
3

样例输出

 1 2 4 5

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct Node{
    int data;
    struct Node *next;
}Node;
Node* CreateLinkList(int n)
{
    Node *head,*p;
    head=(Node*)malloc(sizeof(Node));
    head->next=NULL;
    p=head;
    while(n--)
    {
        int a;
        scanf("%d",&a);
        p->next=(Node*)malloc(sizeof(Node));
        p=p->next;
        p->data=a;
        p->next=NULL;
    }
    return head;
}
Node* Find(Node *head,int n)
{
    Node *p;
    p=head;
    while(p->next->data!=n)
    {
        p=p->next;
    }
    return p;
}
void Delete(Node *p)
{
    Node *q;
    q=(Node*)malloc(sizeof(Node));
    q->next=(Node*)malloc(sizeof(Node));
    q=p->next;
    p->next=q->next;
    free(q);
}
void PrintLinkList(Node *head)
{
    int flag = 0;
    Node *p = head->next, *q;
    while(p)
    {
        if(flag)
            printf(" ");
        flag = 1;
        printf("%d", p->data);
        q = p;
        p = p->next;
        free(q);
    }
    free(head);
}

int main()
{
    int n, x;
    scanf("%d", &n);
    Node *head = CreateLinkList(n);
    scanf("%d", &x);
    Node *p = Find(head, x);
    Delete(p);
    PrintLinkList(head);
    return 0;
}

 

TOJ 5347: 数据结构实验:删除链表元素

标签:数据结构   ane   klist   style   lib   创建   完整   otto   查找和删除   

原文地址:https://www.cnblogs.com/baobao2201128470/p/8689281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!