单链表操作---建表,查找,删除
来源:互联网 发布:手机上写代码的软件php 编辑:程序博客网 时间:2024/05/21 18:01
数据结构上机测试2-1:单链表操作A
Time Limit: 1000ms Memory limit: 4096K 有疑问?点这里^_^
题目描述
输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。
输入
第一行输入数据个数n;
第二行依次输入n个整数;
第三行输入欲删除数据m。
第二行依次输入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
- 单链表操作---建表,查找,删除
- 单链表操作(建表、插入、删除、查找、求表长),
- 单链表建立,插入,删除,查找,遍历操作
- 单链表建立,插入,删除,查找,遍历操作
- 单链表 建立, 查找, 删除, 插入 操作
- 单链表建立,插入,删除,查找,遍历操作!!!!
- 二叉查找树删除操作
- 查找 -- 红黑树的删除操作
- 单链表的创建、插入,删除、查找等操作
- 单链表-创建、插入、删除、查找、反转等操作
- C++ 单链表操作 插入、删除、查找、排序、合并
- C语言---单链表的插入、删除、查找操作
- 单链表基本操作:初始化,建立,插入,查找,删除
- 26个字母单链表,实现插入,删除,查找操作
- 单链表基本操作的实现--创建、插入、查找、删除
- hibernate增加,删除,修改,查找操作
- 二叉查找树的删除操作
- 查找二叉树删除节点的操作
- 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
- box2D斜面摩擦力和sprite朝向的兼顾取舍
- Android学习之——APP番茄工作法——小结(2)
- 设计模式之单例
- 001_020 Python 使用Unicode来处理国际化文本
- 单链表操作---建表,查找,删除
- 001_021 Python 在Unicode和普通如ANSI编码之间转化
- PHP环境搭建中遇到的问题
- 百度BAE和新浪SAE
- LA 3644 X-Plosives
- GPU大百科全书索引
- 001_022 Python 在标准输出上打印Unicode字符
- Gas Station
- android开场动画splash的实现