题目描述

输入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 <iostream>
#include<bits/stdc++.h>
using namespace std;
struct node
{int data;node *next;
};
int m;
struct node *create(int n)
{int i;node *tail,*head,*p;head=new node;head->next=NULL;tail=head;for(i=0;i<n;i++){p=new node;scanf("%d",&p->data);tail->next=p;tail=p;}return (head);
};
void print(struct node *p)
{struct node *h=p->next;while(h!=NULL){if(h->next==NULL)printf("%d",h->data);elseprintf("%d ",h->data);h=h->next;}
}
void num(node *head)
{int i=0;node *p=head->next;while(p){i++;p=p->next;}printf("%d\n",i);
}
void del(node *p)
{node *h;h=p;node *q;while(h->next){if(h->next->data==m)//删除指定元素;{q=h->next;h->next=q->next;free(q);}elseh=h->next;}
}
int main()
{int n;scanf("%d",&n);node *p=create(n);scanf("%d",&m);num(p);print(p);printf("\n");del(p);num(p);print(p);return 0;
}

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

  1. 单链表操作——交换节点

    链表是最为常见,并且经常需要使用到的数据结构之一.对于单链表的基本操作,例如创建链表.插入.删除等都不是特别复杂,但是其实对于链表的操作实际上很多的操作还是有一定的难度,例如上次给出的单链表的逆转,以 ...

  2. 【1138】数据结构上机测试2-1:单链表操作A(顺序建表+删除节点)(SDUT)

    数据结构上机测试2-1:单链表操作A Time Limit: 1000ms   Memory limit: 4096K  有疑问?点这里^_^ 题目描述 输入n个整数,先按照数据输入的顺序建立一个带头 ...

  3. 单链表操作之合并两个单链表

    ***单链表操作之合并两个单链表*** /*  本篇博客为合并两个单链表, 有序和无序都可以: 其中用到单链表的尾插和单链表的选择排序: @单链表排序之选择排序链接:http://blog.csdn. ...

  4. 【数据结构】带头结点的单链表

    文章目录 一.单链表的概念 二.结构体声明: 三.函数 1.购买节点 2.释放节点 3.单链表的初始化 4.判空函数 5.获取单链表有效值个数 6.按数据查询(返回含有此数据节点的前驱) 7.按数据查 ...

  5. 不带头结点的单链表操作

    不带头结点的单链表操作,包括插入.遍历.统计结点数等,要求写出数据结构算法思想及C语言实现函数 本文为博主原创文章,未经博主允许不得转载. 版权为陈博超所有,第一次于2021年06月22日发表于BLO ...

  6. 数据结构学习(C++)——单链表应用(一元多项式【1】) (转)

    数据结构学习(C++)--单链表应用(一元多项式[1]) (转)[@more@] 总算到了这里,这时,你会很得意的说,辛辛苦苦学的单链表总算知道能干点什么了.但是很不幸,如果你和我一样看的是那本书,到 ...

  7. 单链表操作实现getelem_c语言实现--带头结点单链表操作

    可能是顺序表研究的细致了一点,单链表操作一下子就实现了.这里先实现带头结点的单链表操作. 大概有以下知识点. 1;结点:结点就是单链表中研究的数据元素,结点中存储数据的部分称为数据域,存储直接后继地址 ...

  8. 【1291】数据结构上机测试4.1:二叉树的遍历与应用1 SDUTOJ

     数据结构上机测试4.1:二叉树的遍历与应用1 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 输入二叉树的先序遍历序列和中序 ...

  9. 不带头结点的C语言单链表操作,头插法及尾插法

    接上篇带头结点的单链表操作,不带头节点真的比带头结点的麻烦好多,主要是我自己指针指的有点晕,搞了这几天的不带头结点的单链表,算是弄清楚指针的玩法了..老样子上代码. # include "s ...

  10. 数据结构上机测试2-2:单链表操作B

    题目描述 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个). 输入 第一行输入元素个数n: 第二行输入n个整数. 输出 第一行输出初始链表 ...

最新文章

  1. linux内核 extern,Linux内核之_attribute_
  2. Pyhon Django 表单类ModelForm注册案例(可直接操作数据库)
  3. OutOfMemoryError:解决方案反模式
  4. Golang:无惧makefile
  5. 【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】04、统一处理异常...
  6. Linux-进程基础
  7. com.mysql.cj.jdbc.Driver这个驱动类
  8. d触发器q端的输出波形_如果把D触发器的输出Q'反馈连接到输入D,则输出Q的脉冲波形的频率为CP脉冲频率f的 。...
  9. opencv中滚动条操作
  10. ASM 知识(转自三思笔记)
  11. linux下的json解析工具jq的使用笔记
  12. Adober Pro DC 破
  13. PHP小白之路1--PHP之简易留言板设计
  14. 数值分析Guass分解——错误讨论
  15. html js 合并单元格合并单元格,htmljs合并单元格 excel怎样合并单元格
  16. 支付宝,模拟支付,JavaWeb为例
  17. java-net-php-python-jsp固定资产管理系统计算机毕业设计程序
  18. python制作热力图_python绘制热力图
  19. 云上PDF怎么删除页眉页脚_用了这么久的Word,居然不知道怎样去除页眉页脚?...
  20. Git使用教程详解之四 服务器上的Git

热门文章

  1. 软件工程资料 - 优秀的大学怎么教程序开发和软件工程课
  2. JAVA入门级教学之(package和import)
  3. JAVA入门级教学之(算数运算符)
  4. 为什么python打开pygame秒关闭后在运行_当我运行Python程序时,pygame窗口打开片刻,然后退出 - python...
  5. 电脑屏幕卡住了按什么都没反应_手机突然“死机”了关机也不行,怎么按都没反应,怎么办?...
  6. python定义一个类savingaccount表示银行账户_c#教程之c#模拟银行atm机示例分享
  7. python isalpha函数用法_python中string模块各属性以及函数的用法
  8. 【LeetCode笔记】剑指 Offer 44. 数字序列中某一位的数字(Java、偏数学)
  9. vp翻N_VP刀叨叨:如何让G胖给你唱生日歌
  10. python等腰梯形_简单空实心图形打印|Python练习系列[3]