两个表归并为有序表

先排序,在逐个比较插入,最坏时间复杂度为表1长度+表2长度-1

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>typedef struct List
{int* elem;//存储空间地址int length;//表长
}List;void sortList(List* p, int length)
{for (int i = 0; i < length - 1; i++){for (int j = 0; j < length - 1 - i; j++){int temp;if (p->elem[j] > p->elem[j + 1]){temp = p->elem[j];p->elem[j] = p->elem[j + 1];p->elem[j + 1] = temp;}}}
}
int main()
{int l1 = 0;int l2 = 0;//初始化表一printf("输入表1的长度:");scanf("%d", &l1);List list1;list1.elem = (int*)malloc(l1 * sizeof(int));printf("输入元素:\n");for (int i = 0; i < l1; i++){scanf("%d", &(list1.elem[i]));}//初始化表二printf("输入表2的长度:");scanf("%d", &l2);List list2;list2.elem = (int*)malloc(l2 * sizeof(int));printf("输入元素:\n");for (int i = 0; i < l2; i++){scanf("%d", &(list2.elem[i]));}//排序sortList(&list1, l1);sortList(&list2, l2);//归并List list3;list3.length = l1 + l2;list3.elem = (int*)malloc(list3.length * sizeof(int));if (!list3.elem) {exit(0);}//建立表一和表二指向开头和末尾的指针int* list1_last = list1.elem + list1.length - 1;int* list2_last = list2.elem + list2.length - 1;int* list1_start = list1.elem;int* list2_start = list2.elem;int* list3_start = list3.elem;//归并while (list1_start <= list1_last && list2_start <= list2_last){if (*(list1_start) <= *(list2_start)){*(list3_start++) = *(list1_start++);}else{*(list3_start++) = *(list2_start++);}}while (list1_start <= list1_last)//插入表一剩余元素{*(list3_start++) = *(list1_start++);}while (list2_start <= list2_last)//插入表2剩余元素{*(list3_start++) = *(list2_start++);}//打印for (int i = 0; i < list3.length; i++){printf("%d ", *(list3.elem++));}return 0;
}

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

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

相关文章

第3章 决策树

决策树经常处理分类问题&#xff0c;近来的调查表明决策树也是经常使用的数据挖掘算法。 决策树的流程图&#xff1a; 长方形代表判断模块(decision block)&#xff0c;椭圆形代表中止模块(terminating block),表示已经得出结论&#xff0c;可以中止运行。 从判断模块引出左右箭…

EPSON晶振应用到汽车电子产品上的型号有哪些?

EPSON品牌应用在汽车电子产品上的晶振.&#xff0c;当然也少不了晶振可能最熟悉的就是32.768K系列和26MHZGPS晶振用的多。 在汽车里每一个部件都应有的不一样,甚至多次使用到同一尺寸,不同频率的晶振.爱普生品牌晶振型号就有几百种,很容易混淆,要想记住汽车里所应用到的不是件…

模型实战(19)之 从头搭建yolov9环境+tensorrt部署+CUDA前处理 -> 实现目标检测

从头搭建yolov9环境+tensorrt部署实现目标检测 yolov9虚拟环境搭建实现训练、推理与导出导出onnx并转为tensorrt模型Python\C++ - trt实现推理,CUDA实现图像前处理文中将给出详细实现源码python、C++效果如下:output_video_1 1. 搭建环境 拉去官方代码根据配置下载虚拟环境所…

【JAVA】检查两个字符串是否一致的几种方法

1.使用equals()方法&#xff1a; String str1 "Hello"; String str2 "Hello";boolean areEqual str1.equals(str2); // true 注意&#xff0c;如果有可能遇到null值&#xff0c;使用Objects.equals()方法更为安全&#xff0c;因为它可以避免空指针异常…

B树(B-tree)

B树(B-tree) B树(B-tree)是一种自平衡的多路查找树&#xff0c;主要用于磁盘或其他直接存取的辅助存储设备 B树能够保持数据有序&#xff0c;并允许在对数时间内完成查找、插入及删除等操作 这种数据结构常被应用在数据库和文件系统的实现上 B树的特点包括&#xff1a; B树为…

oracle快速定位数据库瓶颈

oracle快速定位数据库瓶颈 –数据库巡检或性能优化方法各异&#xff0c;但首要的是要发现数据库性能瓶颈&#xff0c;系统自带的statspack,或awr太耗时. 查询数据库等待事件top10,关注前前几个等待事件&#xff0c;关注前三个等待事件是否有因果或关联关系–oracle 9i select…

学习空间转换-3D转换

1.什么是空间转换&#xff1f; 使用的是transform属性实现元素在空间内的位移&#xff0c;旋转&#xff0c;缩放等效果。 空间&#xff1a;是从坐标轴角度定义的。x,y,z三条坐标轴构成的一个立体空间&#xff0c;Z轴位置与视线方向相同。 所以空间转换也被叫做3D转换 语法&a…

PICkit 3 v3.10中的 Device Family 识别不到芯片

1&#xff1a;现象描述 在使用 PICkit3烧写hex文件的时候&#xff0c;Device Family只有默认芯片&#xff0c;识别不到当前使用的芯片&#xff0c;导致报错“Device Error - hex file not loaded”&#xff0c;我当前使用的是 PIC16F1826芯片&#xff0c;默认不支持&#xff1…

快速开发部署平台Replit

Replit 是可以快速搭建开发、部署环境的平台。能够快速将原型进行部署&#xff0c;代码编辑器支持协同开发&#xff0c;他的在线编辑器做的不错&#xff0c;相当于云上提供了一个 vscode&#xff0c;代码实时更新。Replit 底层是基于容器技术的&#xff0c;可以安全的隔离多个用…

html、css、QQ音乐移动端静态页面,资源免费分享,可作为参考,提供InsCode在线运行演示

CSDN将我上传的免费资源私自变成VIP专享资源&#xff0c;且作为作者的我不可修改为免费资源&#xff0c;不可删除&#xff0c;寻找客服无果&#xff0c;很愤怒&#xff0c;&#xff08;我发布免费资源就是希望大家能免费一起用、一起学习&#xff09;&#xff0c;接下来继续寻找…

Yonbuilder参考

发布移动插件 https://developer.yonyou.com/cloud/moduleStore/publishPlugin Android自定义插件打包 社区问答 https://community.yonyou.com/forum.php?modviewthread&tid232830&searchLogId605932 MarkDown指令使用 https://blog.csdn.net/qq_25821067/article/de…

深入了解 Gitea:轻量级的自托管 Git 服务

在软件开发和团队协作中&#xff0c;版本控制系统是不可或缺的工具。Git 是目前最流行的分布式版本控制系统之一&#xff0c;而 Gitea 则是基于 Git 的一个轻量级、自托管的 Git 服务。本文将介绍 Gitea 的特点、功能和使用方法&#xff0c;帮助读者更好地了解和使用这一工具。…

分享|网红阳哥介绍的项目能赚钱吗?具体有哪些项目?

在当今的互联网时代&#xff0c;网红的影响力不容小觑&#xff0c;他们通过分享自己的经验和见解&#xff0c;往往能带动一股潮流或引领一种趋势。其中&#xff0c;网红阳哥以其独到的眼光和丰富的经验&#xff0c;分享了一系列赚钱项目&#xff0c;引起了广泛关注。那么&#…

Linux 远程联机服务(一)- Telnet服务器

Linux 远程联机服务&#xff08;一&#xff09;- Telnet服务器 第1关&#xff1a;安装Telnet编程要求预期输出输入 第2关&#xff1a;Telnet服务器启动/关闭编程要求预期输出输入 第3关&#xff1a;Telnet远程登录编程要求预期输出输入 第1关&#xff1a;安装Telnet 编程要求 …

C语言 逻辑运算符

本文 我们来说 逻辑运算符 有时做出决策需要测试多个条件&#xff0c;C语言提供了用于将简单条件组合成复杂条件的逻辑运算符。 逻辑运算符 如下图 用逻辑运算符连接操作数组成的表达式称为逻辑表达式。 逻辑运算的结果只有0和1 逻辑运算的对象可以是任意数值型&#xff0c;但…

VMWare Ubuntu压缩虚拟磁盘

VMWare中ubuntu会越用越大&#xff0c;直到占满预分配的空间 即使系统里没有那么多东西 命令清理 开机->open Terminal sudo vmware-toolbox-cmd disk shrink /关机-> 编辑虚拟机设置->硬盘->碎片整理&压缩 磁盘应用 开机->disk usage analyzer(应用) …

Springboot+Vue项目-基于Java+MySQL的影城管理系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

SQL语句每日一练十

586. 订单最多的客户 题目 表: Orders --------------------------- | Column Name | Type | --------------------------- | order_number | int | | customer_number | int | --------------------------- 在 SQL 中&#xff0c;Order_number是该表的…

苹果 IPA 应用部署软件 iMazing 3 Windows 版获 3.0.0.4 Beta 4

在数字化时代&#xff0c;我们的iOS设备已经成为生活中不可或缺的一部分。为了更加高效、便捷地管理这些设备&#xff0c;iMazing 3.0.0.3 应运而生&#xff0c;它以其独特的功能和卓越的性能&#xff0c;为用户带来了前所未有的全新体验。 首先&#xff0c;iMazing 3.0.0.3 提…

2024第二十一届五一数学建模B题思路 五一杯建模思路

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…