#include<stdio.h>
#include<malloc.h>
//删除单链表中值为e的全部元素
typedef struct Node
{
int data;
struct Node *next;
} LNode,*LinkList;
void showList(LinkList head);
void CreateList(LinkList &head) //建链表
{
head=(LinkList)malloc(sizeof(LNode));
head->next=NULL;
LinkList w=head;
int n;
printf(“输入要插入的数据个数:\n”);
scanf("%d",&n);
printf(“输入要插入的数据:\n”);
for(int i=0; i<n; i++)
{
int t;
scanf("%d",&t);
LinkList p=(LinkList)malloc(sizeof(LNode));
p->data=t;

p->next=w->next; //头插法
w->next=p;
w=w->next;
w->next=NULL;
// p->next=head->next; 尾插法
// head->next=p;
}
}
void deleteLnode(LinkList &head,int t) //删除链表中值为t的所有元素
{
LinkList q=head->next;
int index=1;
while(q)
{
if(q->data==t)
{
q=q->next;
LinkList x=head;
for(int i=1; i<index; i++)
{
x=x->next;
}
LinkList p=x->next;
x->next=p->next;
free(p );
}
else
{
index++;
q=q->next;
}
}
}

void showList(LinkList head) //遍历链表
{
LinkList p=head->next;
while (p )
{
printf("%d “,p->data);
p=p->next;
}
}
int main()
{
LinkList head;
CreateList(head);
int t;
printf(“输入要删除的元素e:”);
scanf(”%d",&t);
deleteLnode(head,t);
printf(“删除后的单链表:\n”);
showList(head);
}

C语言 删除单链表中值为e的全部元素相关推荐

  1. 写一个函数DeleteRange删除单链表中结点的值在low 和high之间的结点

    /*实验2 1. 写一个函数DeleteRange删除单链表中结点的值在low 和high之间的结点 (low和high的值是多少可自由设计).并且要在程序中验证其功能实现. (可在实验1的第3题的基 ...

  2. python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点

    题目 实现一个函数,一个可以删除单链表中倒数第k个节点 难度 简单 分析 本题比较简单,实现方法多种多样,这里提供一种方法 首先明确一点,在单链表中删除倒数第k个节点,需要找到他的前一个节点,让前一个 ...

  3. 用O(1)的时间复杂度删除单链表中的某个节点

    用O(1)的时间复杂度删除单链表中的某个节点 给定链表的头指针和一个结点指针,在O(1)时间删除该结点.链表结点的定义如下: struct ListNode {int m_nKey;ListNode* ...

  4. 删除单链表中倒是第K个结点

    [问题描述] 设有头结点单链表,删除单链表中倒数第k个结点. [输入形式] 第一行输入若干个整数建立带头结点的单链表(以输入字符作为结束). 第二行输入一个整数k,表示删除倒数第k个结点. [输出形式 ...

  5. 《程序员代码面试指南》第二章 链表问题 删除无序链表中值重复的链表

    样例 998 998 998 999 999 999 1000 1000 1000 删除后为998 999 1000 java代码 /*** @Description:删除无序链表中值重复的链表* @ ...

  6. 删除单链表中的重复节点

    删除单链表中的重复节点 一.题目描述 已知单链表L,写一算法,删除其中的重复节点.(更好的阅读体验,请访问程序员在旅途) 二.分析解答 2.1 知识点分析 本题主要考察链表的相关知识点,其中包括:单链 ...

  7. 通过一趟遍历找出长度为n的单链表中值最大的节点.【数据结构】【单链表】

    编写一个函数完成如下功能:通过一趟遍历找出长度为n的单链表中值最大的节点. 要求,在主函数中调用上面的函数测试. 提示:还需要定义其他函数,比如初始化链表,构造单链表,输出单链表. 输出结果: 代码展 ...

  8. 删除单链表中的重复节点(c语言版本)

    这是一道经典的面试题,下面是我的研究和举一反三,特整理如下: 分为三种情形: (1)删除有序链表的重复节点,重复节点一个都不留 (2)删除有序链表的重复节点,重复节点只留一个 (3)删除无序链表的重复 ...

  9. 递归删除单链表中所有值为x的元素_如何纯递归反转链表的一部分

    读完本文,你可以去力扣拿下如下题目: 92.反转链表II ----------- 反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是 ...

  10. C语言统计单链表中的节点数-实训

    任务描述 本小节需要你统计单链表中的节点数. 相关知识 根据上一关我们知道怎么创建单链表了,那么这一关让我们巩固一下单链表的知识. 编程要求 请仔细阅读右侧代码,根据方法内的提示,在Begin - E ...

最新文章

  1. Notepad++ 列操作
  2. 配置国内 Docker Registry Mirror
  3. python实现货币转换
  4. php中的point用法,php strnatcmp()函数的用法总结
  5. 循环神经网络以及 LSTM 及其变体
  6. ZZULIOJ 1064:加密字符
  7. Python中文问题
  8. 图解TCP/IP读书笔记(三)
  9. mongodb创建普通用户并授权readWrite角色,并允许访问某一数据库
  10. 原生input和onchange
  11. 【js】实现 鼠标按下并未松开 事件
  12. kafka学习_kafka学习(第一章 初识kafka)
  13. Hive之行转列/列转行
  14. 嵌入式系统那些事—脚本语言tcl
  15. scratch好书推荐
  16. 五一劳动节,讲讲NEO智能合约的调试
  17. 如何在局域网下建立共享文件夹?
  18. WiFi处显示红叉的解决办法
  19. 小学计算机网络培训记录表,学校校本培训活动记录表(信息技术讲座)
  20. sap委外退料流程图_最新九牧SAP(ERP项目)SAP-TB-MM委外加工采购流程

热门文章

  1. [总结] Mac 安装Axure 8 闪退
  2. JS数组方法shift()、unshift()用法实例分析
  3. nginx的多域http、https同时访问配置及http重定向https
  4. 虚拟机启动network服务启动失败:ob for network.service failed because the control process exited with error code
  5. 遍历文件夹将dicom文件转换为nifty文件
  6. Autovue集成全过程
  7. 网络小知识笔记——交换机、路由器、网关和路由
  8. 演讲发言时太紧张怎么办?只需三招帮你彻底克服当众讲话前的紧张感
  9. 【微信小程序】获取Bmob后端云数据库某一数据表的所有记录
  10. android按键录制,安卓按键精灵怎么录制脚本