C语言 实现 链 显示 效果 查找 修改 删除
显示所有信息
2023年10月1日的描述:今天放假
2023年10月2日的描述:今天有体育
2023年10月3日的描述:今天有数学
2023年10月4日的描述:今天有语文
2023年10月5日的描述:今天有政治
2023年10月6日的描述:今天交学费
2023年10月7日的描述:今天周末
2023年10月8日的描述:今天给家里打电话
2023年10月9日的描述:今天给同学辅导数学
2023年10月10日的描述:今天上体育
查找 2023,10,4号的信息
2023年10月4日的描述:今天有语文
更改2023年10月4的信息
[更改]请输入2023年10月4日的描述:中华人民共和国
修改后的节点信息是:
2023年10月4日的描述:中华人民共和国
删除2023年10月5号的记录
2023年10月5日的描述:今天有政治
以上节点信息从链上被剔除~!
显示所有信息
2023年10月1日的描述:今天放假
2023年10月2日的描述:今天有体育
2023年10月3日的描述:今天有数学
2023年10月4日的描述:中华人民共和国
2023年10月6日的描述:今天交学费
2023年10月7日的描述:今天周末
2023年10月8日的描述:今天给家里打电话
2023年10月9日的描述:今天给同学辅导数学
2023年10月10日的描述:今天上体育
所有节点释放完毕~!
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include<string.h>typedef struct Date {int year, month, day;
}Date_t;typedef struct Node {Date_t date;//日期char describe[200];//描述struct Node* next;
}Node_t,*ListLink;void init(ListLink* L) {*L = malloc(sizeof(Node_t)); if (!L) //如果分配失败exit(1);(*L)->next = NULL;
}void push_back(ListLink* L,Node_t node) {static ListLink tail;if ((*L)->next == NULL) {tail = *L;}Node_t* newNode = malloc(sizeof(Node_t));if (!newNode) //如果分配失败exit(1);newNode->date = node.date;strcpy(newNode->describe, node.describe);newNode->next = NULL;tail->next = newNode;tail = newNode;
}Node_t creatNode(int year,int month,int day,char * describe) { Node_t node;node.date.year = year;node.date.month = month;node.date.day = day;node.next = NULL;strcpy(node.describe, describe);return node;
}int cmp(Date_t a, Date_t b) { //分析两个日期是否一直,一直返回1if (a.year != b.year)return 0;if (a.month != b.month)return 0;if (a.day != b.day)return 0;return 1;
}Node_t* findByDate(ListLink L,Date_t date) {//根据年月日查找节点是否存在ListLink p = L->next;while (p) {if (cmp(p->date, date))//如果找到了对应日期,返回return p;p = p->next;}return p;//没找到返回的必是空
}void showNode(Node_t* node) {//显示一个节点的信息 printf("%d年%d月%d日的描述:", node->date.year, node->date.month, node->date.day);puts(node->describe);
}void edit(Node_t*node) {printf("[更改]请输入%d年%d月%d日的描述:",node->date.year, node->date.month, node->date.day);gets(node->describe);puts("修改后的节点信息是:");showNode(node);
}void delete(ListLink *L,Date_t date) {//找到指定节点的前一个节点ListLink previous = (*L);ListLink current = (*L)->next;while (current) {if (cmp(current->date, date))//如果找到了对应日期,返回break;previous = current;current = current->next;}if (current) {previous->next = current->next;showNode((Node_t*)current);puts("以上节点信息从链上被剔除~!");free(current);}else {puts("删除失败,没有此日期的节点");}
}void printAll(ListLink L) { ListLink current = L->next;while (current) {showNode(current);current = current->next;}
}void destruction(ListLink* L) {//销毁整个链Node_t* current;if (*L == NULL)return;current = (*L)->next;while (current) { (*L)->next = current->next;free(current);current = (*L)->next; }free(*L);puts("所有节点释放完毕~!");
}int main()
{ListLink L;Node_t* node;Date_t date;init(&L);push_back(&L, creatNode(2023, 10, 1, "今天放假"));push_back(&L, creatNode(2023, 10, 2, "今天有体育"));push_back(&L, creatNode(2023, 10, 3, "今天有数学"));push_back(&L, creatNode(2023, 10, 4, "今天有语文"));push_back(&L, creatNode(2023, 10, 5, "今天有政治"));push_back(&L, creatNode(2023, 10, 6, "今天交学费"));push_back(&L, creatNode(2023, 10, 7, "今天周末"));push_back(&L, creatNode(2023, 10, 8, "今天给家里打电话"));push_back(&L, creatNode(2023, 10, 9, "今天给同学辅导数学"));push_back(&L, creatNode(2023, 10, 10, "今天上体育"));//显示所有信息puts("\n\n显示所有信息");printAll(L);//查找 2023,10,4号的信息puts("\n\n查找 2023,10,4号的信息");date.year = 2023;date.month = 10;date.day = 4;node = findByDate(L,date);showNode(node);//更改10月4的信息puts("\n\n更改2023年10月4的信息");edit(node);//删除2023年10月5号的记录puts("\n\n删除2023年10月5号的记录");date.year = 2023;date.month = 10;date.day = 5;delete(&L,date);//显示所有信息puts("\n\n显示所有信息");printAll(L);destruction(&L);return 0;
}
相关文章:
C语言 实现 链 显示 效果 查找 修改 删除
显示所有信息 2023年10月1日的描述:今天放假 2023年10月2日的描述:今天有体育 2023年10月3日的描述:今天有数学 2023年10月4日的描述:今天有语文 2023年10月5日的描述:今天有政治 2023年10月6日的描述:今天交学费 2023年10月7日的描述:今天周末 2023年10月8日的描述:今天给家里…...
CSS基础语法第一天
目录 一、CSS 简介 1.1 CSS简介 1.2 CSS语法 1.3 CSS 语法规范 1.4 CSS 代码风格 1.4.1 样式格式书写 1.4.2 样式大小写 1.4.3 空格规范 二、CSS 基础选择器 2.1选择器分类 2.2标签选择器 2.3 类选择器 2.4 id选择器 2.5 通配符选择器 三、盒子尺寸和背景色 …...
Leetcode 1492.n的第k个因子
给你两个正整数 n 和 k 。 如果正整数 i 满足 n % i 0 ,那么我们就说正整数 i 是整数 n 的因子。 考虑整数 n 的所有因子,将它们 升序排列 。请你返回第 k 个因子。如果 n 的因子数少于 k ,请你返回 -1 。 示例 1: 输入&#…...
十一工具箱流量主小程序源码
无授权,去过滤机制版本 看到网上发布的都是要授权的 朋友叫我把他去授权,能用就行 就把过滤去了 这样就不用授权 可以免费使用 白嫖党专属 一切接口可用,无需担心不能用 授权者不关站一直可以用 源码下载:https://download.csdn.…...
10.5汇编语言整理
【汇编语言相关语法】 1.汇编语言的组成部分 1.伪操作:不参与程序的执行,但是用于告诉编译器程序该怎么编译 .text .global .end .if .else .endif .data 2.汇编指令 编译器将一条汇编指令编译成一条机器码,在内存里一条指令占4字节内存&…...
Connect to 127.0.0.1:1080 [/127.0.0.1] failed: Connection refused: connect
报错信息 A problem occurred configuring root project CourseSelection. > Could not resolve all artifacts for configuration :classpath.> Could not resolve com.android.tools.build:gradle:3.6.1.Required by:project :> Could not resolve com.android.tool…...
驱动器类产品的接口EMC拓扑方案
驱动器类产品的接口EMC拓扑方案 1. 概述 本文以高压伺服驱动器和变频器类产品为例,对常用端口滤波拓扑方案进行总结,后续根据不同的应用场景可进行适当删减,希望对大家有帮助。 2. 驱动器验证等级 本文推荐拓扑的实验结果,满足…...
2023最新ICP备案查询系统源码 附教程 Thinkphp框架
2023最新ICP备案查询系统源码 附教程 thinkphp框架 本系统支持网址备案,小程序备案,APP备案查询,快应用备案查询 优势: 响应速度快,没有延迟,没有缓存,数据与官方同步 源码下载:ht…...
大数据Doris(六):编译 Doris遇到的问题
文章目录 编译 Doris遇到的问题 一、js_generator.cc:(.text+0xfc3c): undefined reference to `well_known_types_js’...
vue重修004上部
文章目录 版权声明组件的三大组成部分scoped解决样式冲突scoped原理2.代码演示 组件data函数说明演示 组件通信组件关系分类通信解决方案父子通信流程子向父通信代 props详解props校验props&data、单向数据流 小黑记事本(组件版)基础组件结构需求和实…...
【C++ techniques】要求/禁止/判断—对象产生于堆中
有时候我们想让某种对象具有“自杀”的能力,所以我们必须要求对象存在堆中,以便我们调用delete this;另一些时候,我们要求拥有某种确定性,保证某一些类型绝不会发生内存泄漏,原因是没有任何一个该类型的对象…...
吃鸡高手亲授:玩转绝地求生,分享顶级游戏干货!
绝地求生(PUBG)自上线以来,成为了全球热门游戏。作为吃鸡行家,我将分享一些独家技巧和干货,帮助您提高游戏战斗力,享受顶级游戏作战体验! 首先,让我们谈一谈战斗力升级。想要在吃鸡游…...
Vue中如何进行自定义图表与可视化图形设计
Vue中如何进行自定义图表与可视化图形设计 在现代Web应用程序开发中,数据可视化图表和图形设计是至关重要的一部分。Vue.js是一个流行的JavaScript框架,它提供了强大的工具来构建交互性强大的用户界面。本文将探讨如何在Vue.js中进行自定义图表和可视化…...
学信息系统项目管理师第4版系列19_质量管理
1. 公差 1.1. 质量测量中公差是测量指标的可允许变动范围,而不是实际测量值与预期值的差 1.1.1. 【高22下选35】 1.2. 结果的的可接受范围 2. 控制界限 2.1. 统计意义上稳定的过程或过程绩效的普通偏差的边界 3. 3版 3.1. 质量控制新七工具 3.1.1. 【高19下…...
react库的基础学习
React介绍 React.js是前端三大新框架:Angular.js、React.js、Vue.js之一,这三大新框架的很多理念是相同的,但是也有各自的特点。 React起源于Facebook的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满…...
FFmpeg 基础模块:容器相关的 API 操作
目录 AVFormat 模块 AVFormat 前处理部分 AVFormat 读写处理部分 小结 思考 FFmpeg 目录中包含了 FFmpeg 库代码目录、构建工程目录、自测子系统目录等,具体内容如下: 现在你知道 FFmpeg 的源代码目录中都包含了哪些内容,在之后使用 FFm…...
SpringMVC+统一表现层返回值+异常处理器
一、统一表现层返回值 根据我们不同的处理方法,返回的数据格式都会不同,例如添加只返回true|false,删除同理,而查询却返回数据。 Result类 为此我们封装一个result类来用于表现层的返回。 public class Result {//描述统一格式…...
2023年地理信息系统与遥感专业就业前景与升学高校排名选择
活动地址:毕业季进击的技术er 地理信息系统(GIS,Geographic Information System),又称“地理信息科学”(Geographic Information Science),是一种具有信息系统空间专业形式的数据管理…...
第五章:最新版零基础学习 PYTHON 教程—Python 字符串操作指南(第二节 - Python 字符串—Python 字符串 len()的语法)
Python len() 函数返回字符串的长度。 目录 Python len() 语法 Python len() 示例 示例 1:带有元组和字符串的 Len() 函数...
ubuntu22.04使用共享文件设置
从ubuntu20.04开始,设置共享文件就很麻烦 第一步: 安装samba: sudo apt install samba第二步; 创建一个共享文件夹 我以桌面Desktop为例子 第三步: 设置密码: sudo smbpasswd -a ygc第四步: sudo vim …...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
