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

从单向链表中删除指定值的节点

输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。
链表的值不能重复。构造过程,例如输入一行数据为:6 2 1 2 3 2 5 1 4 5 7 2 2则第一个参数6表示输入总共6个节点,第二个参数2表示头节点值为2,剩下的2个一组表示第2个节点值后面插入第1个节点值,为以下表示:1 2 表示为2->1链表为2->1,3 2表示为2->3链表为2->3->1,5 1表示为1->5链表为2->3->1->5,4 5表示为5->4链表为2->3->1->5->4,7 2表示为2->7链表为2->7->3->1->5->4最后的链表的顺序为 2 7 3 1 5 4最后一个参数为2,表示要删掉节点为2的值删除,则结果为 7 3 1 5 4
数据范围:链表长度满足1≤n≤1000,节点中的值满足0≤val≤10000 测试用例保证输入合法。
输入描述:输入一行,有以下4个部分:
1 输入链表结点个数
2 输入头结点的值
3 按照格式插入各个结点
4 输入要删除的结点的值
输出描述:输出一行输出删除结点后的序列,每个数后都要加空格。
输入:5 2 3 2 4 3 5 2 1 4 3
输出:2 5 4 1
说明:形成的链表为2->5->3->4->1删掉节点3,返回的就是2->5->4->1

输入:6 2 1 2 3 2 5 1 4 5 7 2 2
输出:7 3 1 5 4

#include <stdio.h>
#include <stdlib.h>typedef struct tagNode {int val;struct tagNode *next;
} Node;static void insertNode(Node *head, int aim, int val) {while(head != NULL) {if(head->val == aim) {Node *temp = (Node*)malloc(sizeof(Node));temp->val = val;temp->next = head->next;head->next = temp;return;}head = head->next;}
}static void delNode(Node **head, int aim)
{if ((*head)->val == aim) {Node *temp = (*head)->next;free(*head);*head = temp;return;}Node *iter = *head;while (iter->next != NULL) {if (iter->next->val == aim) {Node *temp = iter->next;iter->next = temp->next;free(temp);return;}iter = iter->next;}
}static void printList(Node *head) {while(head != NULL) {printf("%d ", head->val);head = head->next;}printf("\n");
}static void freeList(Node *head) {while(head != NULL){Node *next = head->next;free(head);head = next;}
}int main() {int num = 0;int headVal = 0;int delVal = 0;scanf("%d %d", &num, &headVal);Node *head = (Node*)malloc(sizeof(Node));head->next = NULL;head->val = headVal;int i;for (i = 1; i < num; i++) {int aim = 0;int val = 0;scanf("%d %d", &val, &aim);insertNode(head, aim, val);}scanf("%d", &delVal);delNode(&head, delVal);printList(head);freeList(head);return 0;
}

相关文章:

从单向链表中删除指定值的节点

输入一个单向链表和一个节点的值&#xff0c;从单向链表中删除等于该值的节点&#xff0c;删除后如果链表中无节点则返回空指针。 链表的值不能重复。构造过程&#xff0c;例如输入一行数据为:6 2 1 2 3 2 5 1 4 5 7 2 2则第一个参数6表示输入总共6个节点&#xff0c;第二个参数…...

Vue2与Vue3的语法对比

Vue2与Vue3的语法对比 Vue.js是一款流行的JavaScript框架&#xff0c;通过它可以更加轻松地构建Web用户界面。随着Vue.js的不断发展&#xff0c;Vue2的语法已经在很多应用中得到了广泛应用。而Vue3于2020年正式发布&#xff0c;带来了许多新的特性和改进&#xff0c;同时也带来…...

实时动作识别学习笔记

目录 yowo v2 yowof 判断是在干什么,不能获取细节信息 yowo v2 https://github.com/yjh0410/YOWOv2/blob/master/README_CN.md ModelClipmAPFPSweightYOWOv2-Nano1612.640ckptYOWOv2-Tiny...

5G常用简称

名称缩写全称非周期 信道状态信息参考信号aperidoc CSIAperidoc Channel State Information缓冲区状态报告BSRBuffer Status Report小区特定无线网络标识CS-RNTICell-Specific Radio Network Temporary Identifier主小区组MCGMaster Cell groupMCG的节点MNMasternode主小区PCel…...

自动化测试框架性能测试报告模板

一、项目概述 1.1 编写目的 本次测试报告&#xff0c;为自动化测试框架性能测试总结报告。目的在于总结我们课程所压测的目标系统的性能点、优化历史和可优化方向。 1.2 项目背景 我们公开课的性能测试目标系统。主要是用于我们课程自动化测试框架功能的实现&#xff0c;以及…...

【SpringBoot】解析Springboot事件机制,事件发布和监听

解析Springboot事件机制&#xff0c;事件发布和监听 一、Spring的事件是什么二、使用步骤2.1 依赖处理2.2 定义事件实体类2.3 定义事件监听类2.4 事件发布 三、异步调用3.1 启用异步调用3.2 监听器方法上添加 Async 注解 一、Spring的事件是什么 Spring的事件监听&#xff08;…...

华为ensp实验——基于全局地址池的DHCP组网实验

目录 前言实验目的实验内容实验结果 前言 该实验基于华为ensp&#xff0c;版本号是1.3.00.100 V100R003C00SPC100&#xff0c;只供学习和参考&#xff0c;不作任何商业用途。 具体的DHCP命令可以看系列文章链接&#xff0c;计算机网络实验&#xff08;华为eNSP模拟器&#xff…...

如何选择一款安全可靠的跨网安全数据交换系统?

随着网络和数据安全的重视程度增加&#xff0c;为了有效地保护内部的核心数据资产&#xff0c;普遍会采用内外网隔离的策略。像国内的政府机构、金融、能源电力、航空航天、医院等关乎国计民生的行业和领域均已进行了网络的隔离&#xff0c;将内部划分成不同的网段&#xff0c;…...

基于c++版本的数据结构改-python栈和队列思维总结

##栈部分-&#xff08;叠猫猫&#xff09; ##抽象数据类型栈的定义&#xff1a;是一种遵循先入后出的逻辑的线性数据结构。 换种方式去理解这种数据结构如果我们在一摞盘子中取到下面的盘子&#xff0c;我们首先要把最上面的盘子依次拿走&#xff0c;才可以继续拿下面的盘子&…...

算法通关村第七关—迭代实现二叉树的遍历(黄金)

迭代实现二叉树的遍历 迭代法实现前序遍历 前序遍历是中左右&#xff0c;如果还有左子树就一直向下找。完了之后再返回从最底层逐步向上向右找。不难写出如下代码&#xff1a;&#xff08;注意代码中&#xff0c;空节点不入栈&#xff09; public List<Integer>preorde…...

Java期末复习题之封装

点击返回标题->23年Java期末复习-CSDN博客 第1题. 定义一个类Person,定义name和age私有属性&#xff0c;定义有参的构造方法对name和age进行初始化。在测试类中创建该类的2个对象&#xff0c;姓名、年龄分别为lili、19和lucy、20&#xff0c;在屏幕打印出2个对象的姓名和年龄…...

湖科大计网:计算机网络概述

一、计算机网络的性能指标 一、速率 有时候数据量也认为是以10为底的&#xff0c;看怎么好算。&#xff08;具体吉大考试用什么待商榷&#xff09; 二、带宽 在模拟信号系统中带宽的含义&#xff0c;本课程中用到的地方是&#xff1a;香农定理和奈奎斯特定理公式的应用之中。 …...

每日一道c语言

任务描述 题目描述:输入10个互不相同的整数并保存在数组中&#xff0c;找到该最大元素并删除它&#xff0c;输出删除后的数组 相关知识&#xff08;略&#xff09; 编程要求 请仔细阅读右侧代码&#xff0c;结合相关知识&#xff0c;在Begin-End区域内进行代码补充&#xf…...

(C)一些题11

1. #include<stdio.h> #include<string.h> void main() { char *s1"ABCDEF"&#xff0c;*s2"aB"&#xff1b; s1; s2; puts(s1)&#xff1b; puts(s2)&#xff1b; printf("%d\n",strcmp(s1,s2))&#xff1b; } 答案&#xff1…...

多级路由component页面不加载

项目基于vue-element-admin 新建SubView.vue <template><router-view /> </template><script setup> </script>在父层添加component {path: /sj,component: Layout,redirect: /sj,name: 三级医院评审标准(2022),meta: {title: 三级医院评审标准(…...

【原创】Mac mini M1安装home-brew

Mac mini M1 所需神器 home-brew 按照官网的脚本无法安装。 无奈&#xff0c;从github下载安装包来安装。 Homebrew 结果&#xff0c;还需要先安装 Xcode command 命令行工具 xcode-select --install安装完了&#xff0c;却无法执行。 修改配置文件 cd vi .zshrc添加如下内…...

【python交互界面】实现动态观察图像在给定HSV范围的区域显示

HSV颜色空间 与RGB颜色空间相比&#xff0c;HSV颜色空间更适合进行颜色分析和提取特定颜色的目标。在HSV空间中&#xff0c;颜色信息被分布在不同的通道上&#xff0c;使我们能够更准确地定义颜色的范围&#xff0c;并使用阈值操作轻松地分离出我们感兴趣的区域部分。 HSV三个通…...

Vue3中定义变量是选择ref还是reactive?

目录 ref和reactive的优势 1. ref 优势&#xff1a; 应用场景&#xff1a; 示例&#xff1a; 2. reactive 优势&#xff1a; 应用场景&#xff1a; 示例&#xff1a; ref和reactive的劣势 1. ref 2. reactive 应用案例 总结 Vue3中定义变量可以选择使用ref或reac…...

数据结构 | 查漏补缺之哈希表、最短路径、二叉树与森林的转换

哈希表是什么&#xff1f; 或者说 设图采用邻接表的存储结构&#xff0c;写对图的删除顶点和删除边的算法步骤 删除边 删除点 最短路径问题 参考博文 迪杰斯特拉(Dijkstra)算法_dijkstra算法-CSDN博客 Dijkstra(迪杰斯特拉&#xff09;算法 定义一个点为源点&#xff0c;算源…...

SpringCloud

五大组件 注册/配置中心 Nacos 、Eureka远程调用 Feign负载均衡 Ribbon服务保护 sentinel&#xff08;实现限流、降级、熔断&#xff09;网关 gateway 注册中心 Eureka 服务注册&#xff1a;服务提供者把自己的信息注册到Eureka&#xff0c;由Eureka来保存这些信息服务发现…...

seo规则中的内容创作有哪些注意事项

SEO规则中的内容创作有哪些注意事项 在当今互联网时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已成为网站流量和曝光度提升的关键手段。其中&#xff0c;内容创作是SEO的核心要素之一。仅仅创作大量内容并不能保证网站的高排名和高流量。要想在百度等搜索引擎上取…...

3个高效功能让视频创作者轻松生成专业字幕

3个高效功能让视频创作者轻松生成专业字幕 【免费下载链接】video-srt-windows 这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。 项目地址: https://gitcode.com/gh_mirrors/vi/video-srt-windows 工具概述 VideoSrt是一款基于Golang开发的…...

企业微信考勤自动化解决方案:基于EasyWeChat的实战指南

企业微信考勤自动化解决方案&#xff1a;基于EasyWeChat的实战指南 【免费下载链接】easywechat &#x1f4e6; 一个 PHP 微信 SDK 项目地址: https://gitcode.com/gh_mirrors/ea/easywechat 在数字化办公普及的今天&#xff0c;企业考勤管理面临着数据采集繁琐、统计分…...

通信确定性可视化冗余现场总线技术开发白皮书(能源化工交通高可靠行业 Profibus DP CAN PROFINET EtherNet/IP SPE APL)

1.前言现场总线是工业物联网的核心支撑技术&#xff0c;但当前国际主流方案在国内应用中普遍存在开发门槛高、硬件成本高、调试维护复杂、冗余配置昂贵等问题&#xff0c;难以满足中小型自动化项目及国产控制系统对高性价比、高可靠性通信的需求。CANWeb现场总线深度融合CAN的高…...

m4s-converter:释放B站缓存价值的格式转换利器

m4s-converter&#xff1a;释放B站缓存价值的格式转换利器 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 价值对比&#xff1a;格式转换前后的效…...

避坑指南:Informer模型更换自定义数据集时,90%新手会忽略的5个关键参数

Informer模型自定义数据集避坑指南&#xff1a;5个关键参数详解与实战调优 第一次尝试将Informer模型应用到自己的数据集上时&#xff0c;我盯着屏幕上那一串令人绝望的报错信息发呆了整整半小时。明明已经按照官方示例修改了数据路径和基本参数&#xff0c;为什么模型要么无法…...

OpenClaw如何实现数据可视化

要实现数据可视化&#xff0c;OpenClaw 主要通过以下几种方式&#xff0c;您可以根据需求选择合适的方法&#xff1a; &#x1f4ca; 1. 使用内置的 visualizerAgent OpenClaw 内置了 agent:visualizer&#xff0c;可直接从 CSV 等文件生成交互式 HTML 仪表盘&#xff08;如折…...

Qwen3-14B镜像部署避坑指南:RTX 4090D驱动/CUDA/内存精准匹配

Qwen3-14B镜像部署避坑指南&#xff1a;RTX 4090D驱动/CUDA/内存精准匹配 1. 镜像概述与核心优势 Qwen3-14B私有部署镜像是一款专为RTX 4090D显卡优化的开箱即用解决方案。这个镜像最大的特点就是解决了大模型部署中最让人头疼的环境配置问题。 想象一下&#xff0c;你拿到一…...

Wan2.2-I2V-A14B文生视频模型落地实践:单卡4090D高效推理部署案例

Wan2.2-I2V-A14B文生视频模型落地实践&#xff1a;单卡4090D高效推理部署案例 1. 项目背景与价值 视频内容创作正成为数字时代的重要需求&#xff0c;但传统视频制作流程复杂、成本高昂。Wan2.2-I2V-A14B作为新一代文生视频模型&#xff0c;能够直接将文本描述转化为高质量视…...

大模型Post-training实战:从新手到高手的进阶秘籍,收藏这份学习指南!

本文系统梳理了大语言模型&#xff08;LLM&#xff09;后训练&#xff08;Post-training&#xff09;的核心方法与最新进展&#xff0c;通过餐厅培训厨师的类比帮助读者建立直观理解。文章详细解析了监督微调&#xff08;SFT&#xff09;、基于人类反馈的强化学习&#xff08;R…...