A表和B表公共元素产生链表C

ops/2024/12/22 20:21:35/

设A和B是两个单链表(带头节点),其中元素递增有序。设计一个算法从A到B的公共元素产的C表(交集),要求不破坏A,B的节点。

思想:依次比较A,B表中的元素,相同时,尾插法插入到表中。若不等,将较小的指针后移,知道其中一个链表遍历到表尾。

代码:

LinkList Get_Come(LinkList A,LinkList B){LNode *p=A->next,*q=B->next;//p表示表A子表,q表示表B子表 LinkList C =(LinkList)malloc(sizeof(LNode));LNode *r=C,*s;while(p!=NULL && q!=NULL){//子表均有子表 if(p->data==q->data){//相同元素时,利用尾巴插法插入到C表中 s=(LNode*)malloc(sizeof(LNode));s->data=q->data;r->next=s;r=s;//向后遍历 p=p->next;q=q->next;}else if(p->data<q->data){//A表中的数据更小时,因表是递增有序,所以将A表往后遍历 p=p->next; }else{q=q->next; //B表中的数据更小时,因表是递增有序,所以将B表往后遍历 }} r->next=NULL;//表C的表尾置空 return C;
} 

时间复杂度O(m+n);空间复杂度O(min(m,n)


http://www.ppmy.cn/ops/108911.html

相关文章

《Zookeeper 的监听机制及原理解析》

一、引言 在分布式系统中&#xff0c;协调和管理各个节点的状态是一项至关重要的任务。ZooKeeper 作为一个开源的分布式协调服务&#xff0c;被广泛应用于众多分布式系统中&#xff0c;如 Hadoop、HBase、Kafka 等。其中&#xff0c;ZooKeeper 的监听机制是其实现分布式协调的关…

交换技术是一种在计算机网络和通信系统中广泛应用的关键技术,它主要通过交换设备(如交换机、路由器等)实现数据的转发和传输

交换技术是一种在计算机网络和通信系统中广泛应用的关键技术&#xff0c;它主要通过交换设备&#xff08;如交换机、路由器等&#xff09;实现数据的转发和传输。交换技术的核心目的是在不同的设备之间高效地传输数据&#xff0c;实现信息的互联互通。 一、交换技术的定义 交换…

初识爬虫2

requests学习&#xff08;未更新完&#xff09;&#xff1a; 小技巧&#xff0c;如果你用的也是pycharm&#xff0c;对于控制台输出页面因为数据很长一行&#xff0c;不方便进行查看&#xff0c; 可以让它自动换行&#xff1a; 1.requests文档阅读学习链接&#xff1a;快速上…

Java项目: 基于SpringBoot+mybatis+maven实现的IT技术交流和分享平台(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven实现的IT技术交流和分享平台 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美…

【开源免费】基于SpringBoot+Vue.JS图书个性化推荐系统(JAVA毕业设计)

本文项目编号 T 015 &#xff0c;文末自助获取源码 \color{red}{T015&#xff0c;文末自助获取源码} T015&#xff0c;文末自助获取源码 目录 一、系统介绍1.1 业务分析1.2 用例设计1.3 时序设计 二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究…

外包干了三年,快要废了...

先说一下自己的情况&#xff0c;普通本科&#xff0c;在外包干了3年多的功能测试&#xff0c;这几年因为大环境不好&#xff0c;我整个人心惊胆战的&#xff0c;怕自己卷铺盖走人了&#xff0c;我感觉自己不能够在这样蹉跎下去了&#xff0c;长时间呆在一个舒适的环境真的会让一…

java后端开发的DO、DTO、BO、AO、VO、POJO定义

1.常用文件夹命名规则 pojo&#xff1a; &#xff08;1&#xff09;vo &#xff08;与前端交互的所有对象&#xff0c;包括接参和返回&#xff09; &#xff08;2&#xff09;query &#xff08;查询的筛选条件&#xff0c;前端传参和后端内部传参通用&#xff09; &#x…

C++笔记---list

1. list的介绍 list其实就是就是我们所熟知的链表&#xff08;双向循环带头结点&#xff09;&#xff0c;但其是作为STL中的一个类模板而存在。 也就是说&#xff0c;list是可以用来存储任意类型数据的顺序表&#xff0c;既可以是内置类型&#xff0c;也可以是自定义类型&…