单链表操作A
2016-08-05 14:12
232 查看
数据结构上机测试2-1:
Time Limit: 1000ms Memory limit: 4096K 有疑问?点这里^_^
题目描述
输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。
输入
第一行输入数据个数n;
第二行依次输入n个整数;
第三行输入欲删除数据m。
输出
第一行输出原始单链表的长度;
第二行依次输出原始单链表的数据;
第三行输出完成删除后的单链表长度;
第四行依次输出完成删除后的单链表数据。
示例输入
10
56 25 12 33 66 54 7 12 33 12
12
示例输出
10
56 25 12 33 66 54 7 12 33 12
7
56 25 33 66 54 7 33
Time Limit: 1000ms Memory limit: 4096K 有疑问?点这里^_^
题目描述
输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。
输入
第一行输入数据个数n;
第二行依次输入n个整数;
第三行输入欲删除数据m。
输出
第一行输出原始单链表的长度;
第二行依次输出原始单链表的数据;
第三行输出完成删除后的单链表长度;
第四行依次输出完成删除后的单链表数据。
示例输入
10
56 25 12 33 66 54 7 12 33 12
12
示例输出
10
56 25 12 33 66 54 7 12 33 12
7
56 25 33 66 54 7 33
# include <stdio.h> # include <stdlib.h> typedef struct node { int data; struct node*next; } Node; Node* create(int n); void show(Node*head); int del(Node*head,int key);//返回删除的节点个数 int main() { int n,len,key; Node*head; scanf("%d",&n); head = create(n); scanf("%d",&key); printf("%d\n",n); show(head); len = del(head,key); printf("%d\n",n-len); show(head); return 0; } Node*create(int n) { Node*head,*tail,*p; head = (Node*)malloc(sizeof(Node)); head->next = NULL; tail = head; while(n--) { p = (Node*)malloc(sizeof(Node)); scanf("%d",&p->data); tail->next = p; tail = p; } tail->next = NULL; return head; } void show(Node*head) { Node*p; p = head->next; while(p) { if(p->next) printf("%d ",p->data); else printf("%d\n",p->data); p = p->next; } } int del(Node*head,int key) { int num = 0; Node*p,*q,*r; p = head->next; q = head; while(p) { if(p->data == key) { num++; q->next = p->next; r = p; p = p->next; free(r); } else { q = p; p = p->next; } } return num; }
相关文章推荐
- [DP]为什么我们使用继承呢?
- level-list 的大坑
- 天天笑话
- HIKEY OP-TEE切换UART运行状态
- Cannot read property 'value' of null
- Stay Hungry Stay Foolish的真正含义
- 约瑟夫问题
- cocos lua遇到的一些问题
- 【华为 OJ 】表示数字
- 3D Touch介绍:电子秤App与快捷操作
- PHP处理海量样本相似度聚类算法
- poj 3660 Cow Contest(最短路floyd)
- JavaScript学习总结(一)——JavaScript基础
- zookeeper原理
- codeforces 703B Mishka and trip
- fireDebug与js加密格式化工具正则表达式工具下载
- SQL语句优化技巧--Oracle
- 【iOS】Mac下SVN的服务器搭建
- 中文分词
- iOS本地推送与远程推送详解