疫苗接种(链表练习)

2023-12-02 20:20
文章标签 链表 练习 接种 疫苗

本文主要是介绍疫苗接种(链表练习),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很明显,数组也可以做,但是我想练习链表

这道题我上交的时候,同一份代码,三个编译器,三个成绩,有点搞心态

代码如下:

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
typedef int ElemType;
typedef struct LNode{ElemType ID;ElemType date;struct LNode * next;
}LinkList;LinkList * creat(int n)
{LinkList * head, * node, * end;//定义头节点,普通节点,尾部节点head = (LinkList *)malloc(sizeof(LinkList));//分配地址end = head;for(int i = 0; i < n; i++){node = (LinkList *)malloc(sizeof(LinkList));//分配地址scanf("%d%d", &node->ID, &node->date);end->next = node;end = node;}end->next = NULL;//结束创建return head;
}//创建长度为n的链表
void DestroyList(LinkList * head)
{LinkList * end = head;do{end = end->next;free(head);head = end;}while(end != NULL);return;
}//销毁链表int main(void)
{int n, T = 0;scanf("%d", &n);LinkList * head = creat(1);for(int i = 1; i < n; i++){int tID, tdate;scanf("%d%d", &tID, &tdate);for(LinkList * node = head->next, * f_node = head; 1; node = node->next, f_node = f_node->next)if(node == NULL || tdate < node->date || (tdate == node->date && tID < node->ID)){LinkList * tmp = (LinkList *)malloc(sizeof(LinkList));tmp->ID = tID, tmp->date = tdate;f_node->next = tmp, tmp->next = node;break;}}if(n % 10) n = (int)(n * 0.3) + 1;else  n = n / 10 * 3;LinkList * node = head;for(int i = 0; i < n; i++)node = node->next;T = node->date;printf("%d\n", T + 180);for(node = head->next; node->date <= T; node = node->next)printf("%d %d\n", node->ID, node->date);DestroyList(head);return 0;
}

这篇关于疫苗接种(链表练习)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/446680

相关文章

csu1329(双向链表)

题意:给n个盒子,编号为1到n,四个操作:1、将x盒子移到y的左边;2、将x盒子移到y的右边;3、交换x和y盒子的位置;4、将所有的盒子反过来放。 思路分析:用双向链表解决。每个操作的时间复杂度为O(1),用数组来模拟链表,下面的代码是参考刘老师的标程写的。 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#

深入手撕链表

链表 分类概念单链表增尾插头插插入 删尾删头删删除 查完整实现带头不带头 双向链表初始化增尾插头插插入 删查完整代码 数组 分类 #mermaid-svg-qKD178fTiiaYeKjl {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

建立升序链表

题目1181:遍历链表 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2744 解决:1186 题目描述: 建立一个升序链表并遍历输出。 输入: 输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。 输出: 可能有多组测试数据,对于每组数据, 将n个整数建立升序链表,之后遍历链表并输出。 样例输

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

MySql 事务练习

事务(transaction) -- 事务 transaction-- 事务是一组操作的集合,是一个不可分割的工作单位,事务会将所有的操作作为一个整体一起向系统提交或撤销请求-- 事务的操作要么同时成功,要么同时失败-- MySql的事务默认是自动提交的,当执行一个DML语句,MySql会立即自动隐式提交事务-- 常见案例:银行转账-- 逻辑:A给B转账1000:1.查询

html css jquery选项卡 代码练习小项目

在学习 html 和 css jquery 结合使用的时候 做好是能尝试做一些简单的小功能,来提高自己的 逻辑能力,熟悉代码的编写语法 下面分享一段代码 使用html css jquery选项卡 代码练习 <div class="box"><dl class="tab"><dd class="active">手机</dd><dd>家电</dd><dd>服装</dd><dd>数码</dd><dd

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

014.Python爬虫系列_解析练习

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈 优