当前位置: 首页 > news >正文

王道p40 1.设计一个递归算法,删除不带头结点的单链表L中的所有值为x的结点(c语言代码实现)图解递归

视频讲解(献丑了):p40 第1题 王道数据结构课后代码题c语言代码实现_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1Xa4y1Q7ui/?spm_id_from=333.999.0.0

首先它是一个不带头结点的单链表

我们就得特殊处理

我们先让*L==NULL;

然后为s开辟一个新的存储空间,让他等于a[0]的值

下面我们看一下建立无头节点的单链表代码该如何实现

void buildlinklist(linklist* L)
{*L = NULL;lnode* s, * r = *L;int i = 0;if (*L == NULL){s = (lnode*)malloc(sizeof(lnode));s->data = a[0];s->next = NULL;*L = s;}r = *L;for (i = 1; i < n; i++){s = (lnode*)malloc(sizeof(lnode));s->data = a[i];r->next = s;r =s;}r->next = NULL;
}

递归的图解 

本题主要代码为

void delete(linklist* L,int x)
{lnode* p;if (*L== NULL) {return;}if((*L)->data == x) {p = *L;*L = (*L)->next;free(p);delete(L, x);}else {delete(&(*L)->next, x);}
}

 完整测试代码为

#include<stdio.h>
#include<stdlib.h>
typedef struct lnode
{int data;struct lnode* next;
} lnode, * linklist;
int a[5] = { 1,3,3,4,5 };
int n = 5;
void buildlinklist(linklist* L)
{*L = NULL;lnode* s, * r = *L;int i = 0;if (*L == NULL){s = (lnode*)malloc(sizeof(lnode));s->data = a[0];s->next = NULL;*L = s;}r = *L;for (i = 1; i < n; i++){s = (lnode*)malloc(sizeof(lnode));s->data = a[i];r->next = s;r =s;}r->next = NULL;
}
void delete(linklist* L,int x)
{lnode* p;if (*L== NULL) {return;}if((*L)->data == x) {p = *L;*L = (*L)->next;free(p);delete(L, x);}else {delete(&(*L)->next, x);}
}
void print(linklist* L)
{lnode* k=*L;while (k){printf("%d ", k->data);k = k->next;}
}
int main()
{linklist L;buildlinklist(&L);delete(&L,3);print(&L);
}

相关文章:

王道p40 1.设计一个递归算法,删除不带头结点的单链表L中的所有值为x的结点(c语言代码实现)图解递归

视频讲解(献丑了)&#xff1a;p40 第1题 王道数据结构课后代码题c语言代码实现_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Xa4y1Q7ui/?spm_id_from333.999.0.0 首先它是一个不带头结点的单链表 我们就得特殊处理 我们先让*LNULL&#xff1b; 然后为s开辟一个新…...

深入浅出排序算法之希尔排序

目录 1. 原理 2. 代码实现 3. 性能分析 1. 原理 希尔排序法又称缩小增量法。希尔排序法的基本思想是&#xff1a;先选定一个整数&#xff0c;把待排序文件中所有记录分成个组&#xff0c;所有距离为的记录分在同一组内&#xff0c;并对每一组内的记录进行排序。然后&#xf…...

close excel by keyword 根据关键字关闭 excel 窗口 xlwings 方式实现

根据标题关键字关闭 workbook&#xff0c;如果没有打开的 workbook 则退出 excel xlwings 方式实现 更方便快捷 def close_excel_by_keyword(keyword):if ~$ in keyword:returnapp xw.apps.activefor workbook in app.books:if keyword in workbook.name:workbook.close()fi…...

LIO-SAM算法解析

文章目录 简介算法概述1.点云去畸变1.1 主要功能1.2 主要流程 2.特征提取3.IMU预积分4.地图优化5.算法评估 简介 LIO-SAM在lego-loam的基础上新增了对IMU和GPS的紧耦合&#xff0c;采用一个因子图对位姿进行优化&#xff0c;包括IMU因子&#xff0c;激光里程计因子&#xff0c…...

vscode 提升小程序开发效率的必备插件与工具

1&#xff0c;微信小程序开发助手&#xff08;WeChat Snippet&#xff09;&#xff1a;提供了小程序代码片段、模板和快速生成页面的功能&#xff0c;加快了开发速度。 2&#xff0c;小程序助手&#xff08;Minapp&#xff09;&#xff1a;提供了小程序项目创建、编译、预览和…...

第五章单元测试

一、学习目的与要求 本章对单元测试进行了详细的介绍。通过本章的学习&#xff0c;应掌握单元测试的概念&#xff0c;了解单元测试的误区&#xff0c;掌握单元测试的策略、分析方法和用例设计方法。 二、考核知识点与考核目标 &#xff08;一&#xff09;单元测试的概念&#…...

【JAVA基础】多线程与线程池

多线程与线程池 文章目录 多线程与线程池1. 相关概念1.1 线程调度1.2 守护线程 2. 生命周期3. 同步机制/同步锁3.1 synchronized3.2 lock3.3 synchronized 与 Lock 的对比 4. 死锁5. 线程通信5.1 线程间的通信5.2 等待唤醒机制5.3 举例5.4 调用 wait 和 notify 需注意的细节5.5…...

HCIA数据通信——交换机(Vlan间的通信与安全)

前言 之前的提到了交换机的概念和实验。不过交换机的一些功能还没有说完&#xff0c;我们的实验也仅仅是阻止相同地址段的IP地址互通&#xff0c;也没有用到子接口和路由器。显然&#xff0c;那样的配置过于简单。 端口安全 Port Security&#xff08;端口安全&#xff09;的功…...

Linux shell编程学习笔记16:bash中的关联数组

上一节我们探讨了普通的数组&#xff0c;即使用数字下标来索引数组中不同的元素的数组&#xff0c;也可以称之为索引数组。 相比纯粹的数字&#xff0c;字符串不仅能表明含义&#xff0c;也更便于记忆使用&#xff0c;于是就有了关联数组。 一、关联数组概述 bash 从4.0开始支…...

浏览器是怎么执行JS的?——消息队列与事件循环

看完渡一的课后&#xff0c;感觉这块内容确实非常重要&#xff0c;写 JS 的连 JS 的执行原理都不知道可不行。 事件循环 在写 JS 的时候&#xff0c;你有没有想过 JS 是按照什么顺序执行的&#xff1f;浏览器是怎么执行 JS 代码的&#xff1f;为什么有时候代码没有按照我们认为…...

IMU预积分的过程详解

一、IMU和相机数据融合保证位姿的有效性&#xff1a; 当运动过快时&#xff0c;相机会出现运动模糊&#xff0c;或者两帧之间重叠区域太少以至于无法进行特征匹配&#xff0c;所以纯视觉SLAM对快速的运动很敏感。而有了IMU&#xff0c;即使在相机数据无效的那段时间内&#xff…...

TypeScript中的类型运算符

类型运算符 1. keyof运算符 1. 简介 是一个单目运算符&#xff0c;接受一个对象类型作为参数&#xff0c;返回该对象的所有键名组成的联合类型。 type MyObj {foo: number,bar: string, };type Keys keyof MyObj; // foo|bar这个例子keyof MyObj返回MyObj的所有键名组成的…...

【蓝桥杯选拔赛真题03】C++输出字母Y 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析

目录 C/C++输出字母Y 一、题目要求 1、编程实现 2、输入输出 二、算法分析...

redis搭建集群-多实例快速搭建

1.基础的redis.conf的配置 # Redis configuration file example. # # Note that in order to read the configuration file, Redis must be # started with the file path as first argument: # # ./redis-server /path/to/redis.conf# Note on units: when memory size is ne…...

为什么进行压力测试? 有哪些方法?

在信息技术飞速发展的今天&#xff0c;软件系统的性能已经成为了用户满意度的决定性因素之一。而要确保一个系统在实际使用中能够稳定可靠地运行&#xff0c;压力测试就显得尤为关键。本文将深入探讨什么是压力测试&#xff0c;为什么它是如此重要&#xff0c;以及一些常见的压…...

Java开发者必备:支付宝沙箱环境支付远程调试指南

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f516;系列专栏&#xff1a; C语言、Linux、Cpolar ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级…...

基于STM32温湿度传感器采集报警系统设计

**单片机设计介绍&#xff0c;1648【毕设课设】基于STM32温湿度传感器采集报警系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序程序 六、 文章目录 一 概要 这次的设计主要是通过读取DHT11和HCSR04的数值&#xff0c;&#xff08;Proteus的传感器…...

檢測項目簡體字

某些項目可能要求代碼中不允許使用簡體字 安裝stcheck檢查 yarn add stcheck --dev在項目根目錄創建 st.config.json 文件 {"patterns": ["./**/*.(ts|js|tsx|jsx|vue|html)","!**/node_modules/**","!.git/**"],"gitignore&q…...

适用于嵌入式arm的ffmpeg编解码

在嵌入式arm应用开发中&#xff0c;经常会遇到需要处理视频的情况&#xff0c;这时候就需要强大的开源工具ffmpeg出马了。 这里可以下载到各个版本的ffmpeg。 ffmpeg各版本https://www.videohelp.com/software/ffmpeg/old-versions 现在ffmpeg更新较频繁&#xff0c;如…...

nlp与知识图谱代码解读_词嵌入

目录 词嵌入简单原理代码案例解读专业原理介绍场景 词嵌入 简单原理 可以使用一些比喻和生活中的例子&#xff1a; 老师&#xff1a; 你们还记得玩乐高积木的时候&#xff0c;每个积木块代表了一个特定的事物或形状吗&#xff1f;现在&#xff0c;想象一下&#xff0c;每个词…...

Graphormer在药物发现中的价值:缩短先导化合物筛选周期50%以上

Graphormer在药物发现中的价值&#xff1a;缩短先导化合物筛选周期50%以上 1. 引言&#xff1a;药物研发的新利器 在药物研发领域&#xff0c;科学家们每年需要筛选数百万种化合物来寻找潜在的药物候选分子。传统方法不仅耗时耗力&#xff0c;而且成本高昂。Graphormer的出现…...

低显存福音:实测Neeshck轻量化工具,16G显卡流畅跑Z-Image模型

低显存福音&#xff1a;实测Neeshck轻量化工具&#xff0c;16G显卡流畅跑Z-Image模型 1. 轻量化方案的诞生背景 1.1 大模型与小显存的矛盾 Z-Image作为国产文生图模型的代表&#xff0c;其强大的生成能力有目共睹。但原生部署对显存的高要求&#xff08;通常需要20GB以上&am…...

VS2019项目配置全解析:从附加库到包含目录的实战指南

1. VS2019项目配置基础概念解析 刚接触VS2019时&#xff0c;我完全被各种配置选项搞晕了。特别是当需要引入第三方库时&#xff0c;附加库、包含目录这些概念简直让人抓狂。记得第一次配置OpenCV项目&#xff0c;光是让编译器找到头文件就折腾了大半天。后来才发现&#xff0c;…...

液态神经网络在医疗诊断中的落地案例:如何用LNNs处理动态心电图数据

液态神经网络在医疗诊断中的落地案例&#xff1a;如何用LNNs处理动态心电图数据 当心电图仪器的电极贴片接触患者皮肤的瞬间&#xff0c;那些起伏的波形不仅是心脏跳动的印记&#xff0c;更是一组充满噪声的复杂时间序列数据。传统深度学习模型在处理这类动态生理信号时&#x…...

【帮宝抑菌膏】宝宝额头起红疹子怎么办?宝妈必看的原因与护理指南

宝宝额头突然冒出一片片红疹子&#xff0c;不仅让宝宝难受哭闹&#xff0c;更让新手父母揪心不已。作为深耕母婴护理领域十余年的专业品牌&#xff0c;帮宝凭借丰富的育儿指导经验和科学护理方案&#xff0c;为宝妈们提供全方位的解决方案。当发现宝宝额头起红疹子时&#xff0…...

多 Agent 协作架构:Agent 之间如何通信、协调和分工

多 Agent 协作架构&#xff1a;Agent 之间如何通信、协调和分工 我在字节跳动 OpenViking 分析之后&#xff0c;有一件事一直在脑子里转&#xff1a;多 Agent 的协作到底难在哪里&#xff1f;不是难在"写代码"&#xff0c;而是难在把一堆各自为政的 Agent 变成一个真…...

AXI总线协议实战:手把手教你用Verilog模拟关键信号波形(附代码)

AXI总线协议实战&#xff1a;手把手教你用Verilog模拟关键信号波形&#xff08;附代码&#xff09; 在FPGA和数字电路设计中&#xff0c;AXI总线协议已经成为事实上的标准接口。作为AMBA协议家族中最重要的一员&#xff0c;AXI协议以其高性能、高带宽和灵活性著称。但对于初学者…...

Qwen3-14B私有AI助手搭建:WebUI可视化界面+本地知识库集成指南

Qwen3-14B私有AI助手搭建&#xff1a;WebUI可视化界面本地知识库集成指南 1. 为什么选择Qwen3-14B私有部署 想象一下&#xff0c;你有一个24小时待命的AI助手&#xff0c;不仅能回答各种专业问题&#xff0c;还能根据你的业务需求进行定制化服务。这就是Qwen3-14B私有部署能为…...

手把手教你用PassFab for Office 8.5.1找回遗忘的Word/Excel密码(保姆级图文教程)

办公文档密码遗忘急救指南&#xff1a;PassFab for Office全流程实战解析 你是否经历过这样的场景&#xff1a;周一早晨准备修改季度报表时&#xff0c;突然发现去年设置的Excel密码怎么试都不对&#xff1b;或是毕业论文答辩前夜&#xff0c;重要参考文献的Word文档因密码错误…...

EPSON机器人通信避坑指南:TCP/IP协议在LS3-401S上的常见问题与解决方案

EPSON机器人通信避坑指南&#xff1a;TCP/IP协议在LS3-401S上的常见问题与解决方案 在工业自动化领域&#xff0c;EPSON LS3-401S机器人凭借其高精度和可靠性广受青睐。然而&#xff0c;在实际部署过程中&#xff0c;TCP/IP通信问题往往成为工程师们的"拦路虎"。本文…...