PTA 6-2 入侵者围剿第二关2情报解密

经过上一步,已经创建了2个分队的情报信息链,现在需要将2个分队的情报进行合并,并删除重复值,合并后的情报信息确保唯一性。
假定上一步输入的情报信息是有序的,现在是合并2个有序链表。

函数接口定义:

第一个函数是: 
ptr add(ptr ha,ptr hb); 
//创建一个有序新链表,值从两个有序链表ha,hb中复制 
第二个函数是: 
ptr createnode(ptr p,ptr last) 
//生成新结点s,新结点的值从p复制,然后将结点串接到链表尾部 
第三个函数是: 
void addremaining(ptr p,ptr q,ptr last) 
//两个链表有一个先结束,还没有结束的链表要整体复制到新链表中 

add功能:两个有序链表ha,hb进行合并运算,构成一个新的链表返回,原链表ha,hb保留。
add需要调用createnode和addremaining函数。
思路:p指向ha第一个元素,q指向hb第一个元素,循环条件是p和q都不为空,
每循环一次,判断当前p和q指向的2个结点值,如果p的值小,将p的值复制到新结点,串到新链表中,p指向下一个结点;如果q的值小,……,如果两个值相同,则…..
最后还要判断两个链表,是哪个后结束,还没有结束的链表,要把剩下的元素全部复制一份串到新链表中
createnode提示:
//步骤提示
//1.生成新结点,地址为s 2.将p指向的结点所有值拷贝一份给s指向的结点
//3.将s串接到last后,s变成新的last 4.返回s

裁判测试程序样例:

#include <stdio.h> 
typedef struct snode { 
char name[10]; 
int age; int num; 
struct snode *next; }node,*ptr; 
ptr creat(); 
ptr add(ptr ha,ptr hb); 
ptr createnode(ptr p,ptr last); 
void addremaining(ptr p,ptr q,ptr last); 
void output(ptr h) { ptr p; 
p=h->next; 
while(p!=NULL) { 
printf("%s %d %d; ",p->name,p->age,p->num); 
p=p->next; } 
printf("\n"); } 
ptr creat() { 
ptr head,tail,q; 
char tname[10]; 
int tnum; int tage; 
head=tail=(ptr)malloc(sizeof(node)); 
head->next=NULL; 
scanf("%d%s%d",&tnum,tname,&tage); 
while(tnum!=0) { 
q=(ptr)malloc(sizeof(node)); 
strcpy(q->name,tname); 
q->num=tnum; 
q->age=tage; 
tail->next=q; 
q->next=NULL; 
tail=tail->next; 
scanf("%d%s%d",&tnum,tname,&tage); } 
return head; } 
int main() { 
ptr h1,h2,h3; 
h1=creat(); output(h1); 
h2=creat(); output(h2); 
h3=add(h1,h2); output(h3); 
return 0; } 
/* 请在这里填写答案 */

输入样例:

2 tom 22
3 jim 21
4 lili 21
0 0 0
3 jim 21
5 ni 20
6 ming 23
0 0 0

输出样例:

tom 22 2; jim 21 3; lili 21 4; 
jim 21 3; ni 20 5; ming 23 6; 
tom 22 2; jim 21 3; lili 21 4; ni 20 5; ming 23 6; 

代码实现: 

ptr add(ptr ha, ptr hb) {  ptr h = (ptr)malloc(sizeof(node))=NULL; ptr tail = h; ptr pa = ha->next;  ptr pb = hb->next; while (pa != NULL && pb != NULL) {  if (pa->num < pb->num) {  tail->next = pa;  tail = pa;  pa = pa->next;  NULL} else if (pa->num > pb->num) {  tail->next = pb;  tail = pb;  pb = pb->next;  } else {  tail->next = pa;  tail = pa;  pa = pa->next;  pb = pb->next;  }  }  while (pa != NULL) {  tail->next = pa;  tail = pa;  pa = pa->next;  }  while (pb != NULL) {  tail->next = pb;  tail = pb;  pb = pb->next;  }  free(ha);  free(hb);return h; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每周一算法:无向图的最小环

题目链接 观光之旅 题目描述 给定一张无向图&#xff0c;求图中一个至少包含 3 3 3 个点的环&#xff0c;环上的节点不重复&#xff0c;并且环上的边的长度之和最小。 该问题称为无向图的最小环问题。 你需要输出最小环的方案&#xff0c;若最小环不唯一&#xff0c;输出…

core.sshd.xxxxxx文件过大

背景 【紧急】【应用分组】应用: 接入点服务, 分组: 观众预发, ip: xx.xx.xx.xx 【/】&#xff0c;磁盘使用率已连续2次大于90% [当前值:100%]。报警时间: 2024-05-13 14:07:01 原因 登录机器查看&#xff0c;发现根目录下有大量的崩溃文件将 / 打满 处理 1&#xff0c; 删…

C#链接数据库、操作sql、选择串口

// 公共增删方法 using MySql.Data.MySqlClient; using System.Data; namespace ****** {public class MySQLHelper{private MySqlConnection conn null;private MySqlCommand comm null;private MySqlDataReader reader null;/// <summary>/// 构造方法里建议连…

【图解计算机网络】TCP 重传、滑动窗口、流量控制、拥塞控制

TCP 重传、滑动窗口、流量控制、拥塞控制 TCP 重传超时重传快速重传 滑动窗口流量控制拥塞控制慢启动拥塞避免拥塞发生快速恢复 TCP 重传 TCP重传是当发送的报文发生丢失的时候&#xff0c;重新发送丢失报文的一种机制&#xff0c;它是保证TCP协议可靠性的一种机制。 TCP重传…

二级Java第五套真题(乱序版)含真题解析

一. 单选题(共39题,39分) 1. (单选题, 1分) 阅读下列代码 public class Test implements Runnable { public void run (Thread t) { System.out.println("Running."); } public static void main (String[ ] args) { T…

mysql 离线安装

package download mysql https://dev.mysql.com/downloads/mysql/ libaio http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm 根据自己服务器选择下载对应的安装包及依赖 删除本机自带mysql相关 # 首先排查服务器自身是否有安装对应m…

威胁建模的艺术:了解网络安全风险的另一面

网络安全的本质是攻防双方的对抗与博弈。然而&#xff0c;由于多种攻防之间的不对称性因素存在&#xff0c;使得攻击者总能在对抗过程中抢占先机。为了更好地了解潜在的威胁和缺陷&#xff0c;实现主动式防御&#xff0c;企业需要重新考虑他们的网络防护方法&#xff0c;而威胁…

【数据库】基础概念

1. linux中启动mysql服务器的命令是&#xff1a;service mysql start 2. linux中停止mysql服务器的命令是&#xff1a;service mysql stop 3. linux中重启mysql服务器的命令是&#xff1a;service mysql restart 4. linux中查看mysql服务器运行状态的命令是&#xff1a;serv…

抖音小店怎么运营才能出单呢?就这一个步骤做好,爆单不是梦!

哈喽~我是电商月月 新手做抖音小店绝对会有这两个问题&#xff1a;怎么运营&#xff1f;不出单怎么办&#xff1f;被这两个问题困扰着的商家&#xff0c;别着急&#xff01; 看完我这一篇分享&#xff0c;你就知道自己的问题所在了&#xff01; 抖音小店的运营中&#xff0c…

【工程师的自我修养】有效沟通

虽然大家都会说话&#xff0c;但不是每个人都会沟通。工作中不可避免的要与他人接触&#xff0c;沟通在工作中非常重要&#xff0c;沟通到位则事事顺畅&#xff0c;沟通不到位则举步维艰。 1、先说结论&#xff0c;再说过程 英语的语法习惯先说结论&#xff0c;I have lunch at…

30xx 51xx 请求指定地址配对连接

<?xml version="1.0" encoding="utf-8"?> <ConfigSet HwVariant="QCC3034-AA_DEV-BRD-R2-AA" SwVariant="Headset-Gaming"> <DefineGroup> <DefineBlockList> <enum …

找不到msvcp100.dll,无法继续执行代码的问题详细解析

当您在运行某个程序或游戏时遇到提示“找不到msvcp100.dll&#xff0c;无法继续执行代码”&#xff0c;这通常意味着系统中缺失了一个重要的动态链接库文件&#xff0c;从而导致应用程序无法正常启动。为了解决这个问题&#xff0c;本文将介绍5种常见的解决方法&#xff0c;帮助…

法国签证照片尺寸怎么调整?图片调整尺寸的方法介绍

在我们的平时生活中&#xff0c;个人证件照是我们必不可少的身份证明&#xff0c;它是一种具有严格尺寸和比例要求的特殊照片&#xff0c;对于一些特定的场合&#xff0c;比如我们在申请法国签证的时候&#xff0c;需要把照片调整到规定的大小尺寸&#xff0c;那么&#xff0c;…

数字人实训室助推元宇宙人才培养

如今&#xff0c;全身动作捕捉设备已经大量应用在影视、动画、游戏领域&#xff0c;在热门的元宇宙内容领域中&#xff0c;全身动作捕捉设备逐步发挥着重要的作用&#xff0c;在包括体育训练、数字娱乐虚拟偶像、虚拟主持人、非物质文化遗产保护等等场景&#xff0c;数字人实训…

通过任意文件读取获取weblogic账号密码

对于weblogic获取到账号密码的前提是有任意文件读取存在&#xff0c;当任意文件读取存在时是可以读取配置文件来对账号密码进行解密。weblogic密码使用AES&#xff08;老版本3DES&#xff09;加密&#xff0c;对称加密可解密&#xff0c;只需要找到用户的密文与加密时的密钥即可…

k8s 配置管理

文章目录 k8s 配置管理ConfigMappod 中使用 Secretdocker-registry SubPath配置热更新使用方案 不可变Secret 和 ConfigMap k8s 配置管理 ConfigMap 一般用于去存储 Pod 中应用所需的一些配置信息&#xff0c;或者环境变量&#xff0c;将配置于 Pod 分开&#xff0c;避免应为…

为什么跨境电商大佬都在自养号测评?看完你就懂了!

在跨境电商的激烈竞争中&#xff0c;各大平台如亚马逊、拼多多Temu、shopee、Lazada、wish、速卖通、煤炉、敦煌、独立站、雅虎、eBay、TikTok、Newegg、Allegro、乐天、美客多、阿里国际、沃尔玛、Nike、OZON、Target以及Joom等&#xff0c;纷纷成为商家们竞相角逐市场份额的焦…

【C#】.net core 6.0 ApiController,API控制器方法,API接口以实体类作为接收参数应该注意的点

欢迎来到《小5讲堂》 这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 背景实体类参数API接口不可空参数可空参数参数类型MVC历程相关文章 背…

LeetCode例题讲解:45.跳跃游戏Ⅱ

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1] 的最…

【kettle012】kettle访问FTP服务器文件并处理数据至PostgreSQL(已更新)

1.一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下FTP服务器相关知识体系 3.欢迎批评指正,跪谢一键三连! kettle访问FTP服务器文件并处理数据至PostgreS…