单链表操作---建表,查找,删除

来源:互联网 发布:手机上写代码的软件php 编辑:程序博客网 时间:2024/05/21 18:01

数据结构上机测试2-1:单链表操作A


Time Limit: 1000ms   Memory limit: 4096K  有疑问?点这里^_^

题目描述

输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。

输入

第一行输入数据个数n;
第二行依次输入n个整数;
第三行输入欲删除数据m。

输出

第一行输出原始单链表的长度;
第二行依次输出原始单链表的数据;
第三行输出完成删除后的单链表长度;
第四行依次输出完成删除后的单链表数据。

示例输入

1056 25 12 33 66 54 7 12 33 1212

示例输出

1056 25 12 33 66 54 7 12 33 12756 25 33 66 54 7 33
#include<stdio.h>  #include<stdlib.h>    struct node  {      int data;      struct node *next;  };    void del(struct node *head, int key, int n)      {          int i, count=0;          struct node *p, *q;          p = head;          while(p->next!=NULL)          {              if(p->next->data == key)              {                  q = p->next;                  p->next = q->next;                  free(q);                  count ++;              }              else                  p = p->next;          }          printf("%d\n", n-count);          head = head->next;          for(i=0; i<n-count; i++)          {              printf("%d", head->data);              if(i<n-1)                  printf(" ");              else                  printf("\n");              head = head->next;          }      }    int main()  {      int n, i, key;      struct node *head, *tail, *p, *q;      head = (struct node *)malloc(sizeof(struct node));      head->next = NULL;      tail = head;      q = head;      scanf("%d", &n);      for(i=0; i<n; i++)      {          p = (struct node *)malloc(sizeof(struct node));          scanf("%d", &p->data);          p->next = NULL;          tail->next = p;          tail = p;      }      scanf("%d", &key);      printf("%d\n", n);//输出原单链表的长度                       //PS:wa了两次,原因没看清要输出原单链表的长度,一定要认真读题啊      q = q->next;      for(i=0; i<n; i++)//输出原单链表      {          printf("%d", q->data);          if(i<n-1)              printf(" ");          else              printf("\n");          q = q->next;      }        del(head, key, n);//完成删除key值,并输出        return 0;  }  


0 0
原创粉丝点击