归并排序
参考链接
排序算法:归并排序【图解+代码】_哔哩哔哩_bilibili
#include <stdio.h>
#include <stdlib.h>// 合并
void merge(int arr[], int tempArr[], int left, int mid, int right)
{// 标记左半区第一个未排序的元素int l_pos = left;// 标记右半区第一个未排序的元素int r_pos = mid + 1;// 临时数组元素的下标int pos = left;// 合并while (l_pos <= mid && r_pos <= right){if (arr[l_pos] < arr[r_pos]) // 左半区第一个剩余元素更小tempArr[pos++] = arr[l_pos++];else // 右半区第一个剩余元素更小tempArr[pos++] = arr[r_pos++];}// 合并左半区剩余的元素while (l_pos <= mid)tempArr[pos++] = arr[l_pos++];// 合并右半区剩余的元素while (r_pos <= right)tempArr[pos++] = arr[r_pos++];// 把临时数组中合并后的元素复制回原来的数组while (left <= right){arr[left] = tempArr[left];left++;}
}// 归并排序
void msort(int arr[], int tempArr[], int left, int right)
{// 如果只有一个元素,那么不需要继续划分// 只有一个元素的区域,本生就是有序的,只需要被归并即可if (left < right){// 找中间点int mid = (left + right) / 2;// 递归划分左半区msort(arr, tempArr, left, mid);// 递归划分右半区msort(arr, tempArr, mid + 1, right);// 合并已经排序的部分merge(arr, tempArr, left, mid, right);}
}// 归并排序入口
void merge_sort(int arr[], int n)
{// 分配一个辅助数组int tempArr[n];// 调用实际的归并排序msort(arr, tempArr, 0, n - 1);
}void print_arr(int *arr,int n)
{for(int i = 0 ; i < n ; i++){printf("%d ",arr[i]);}printf("\n");
}
int main()
{int arr[] = {9,5,2,7,12,4,3,1,11};int n = 9;print_arr(arr,n);merge_sort(arr,n);print_arr(arr,n);return 0;
}
相关文章:
归并排序
参考链接 排序算法:归并排序【图解代码】_哔哩哔哩_bilibili #include <stdio.h> #include <stdlib.h>// 合并 void merge(int arr[], int tempArr[], int left, int mid, int right) {// 标记左半区第一个未排序的元素int l_pos left;// 标记右半区…...
ELF 1技术贴|在NXP源码基础上适配开发板的按键功能
本次源代码适配是在NXP i.MX6ULL EVK评估板的Linux内核源代码(特定版本号为Linux-imx_4.1.15)的基础中展开的。 首要任务集中在对功能接口引脚配置的精细调整,确保其能无缝匹配至ELF 1开发板。接下来,我们将详细阐述适配过程中关…...
Linux:kubernetes(k8s)pod的基础操作(6)
Linux:kubernetes(k8s)允许在任意节点使用kubectl命令(5)-CSDN博客https://blog.csdn.net/w14768855/article/details/136460090?spm1001.2014.3001.5501 我在前两张进行了基础环境的一系列搭建,现在就正…...
【Docker】掌握 Docker 镜像操作:从基础到进阶
🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 结语 我的其他博客 前言 在现代软件开发和部署中,容器化技术已经成为不可或缺的一部分。而 Docker 作为最流行的容器化…...
flink重温笔记(十一):Flink 高级 API 开发——flink 四大基石之 Checkpoint(详解存储后端)
Flink学习笔记 前言:今天是学习 flink 的第 11 天啦!学习了 flink 四大基石之 Checkpoint (检查点),主要是解决大数据领域持久化中间结果数据,以及取消任务,下次启动人可以恢复累加数据问题&…...
React富文本编辑器开发(九)位置
位置是指在使用Slate编辑器中进行插入、删除或执行其它操作时引用文档中特定位置的方式。有几种不同类型的位置接口,每种接口都用于不同的用例。 Path路径 路径是引用位置的最低级别的方法。每个路径都是一个简单的数字数组,它通过文档树下每个祖先节点…...
一次直播和图像识别技术应用的探索之旅
背景 Think Better 很多行业都在“卷”,作为金融科技行业的信也,也不例外。除了卷云计算、大数据和人工智能这些非常有深度的技术以外,信也向着技术融合创新的方向逐步探索,做得更好一些,为用户提供更好的价值…...
Ubuntu 下使用 Pybind11 实现 C++ 调用 Python 接口的示例
Pybind11 是一个轻量级的库,它提供了在 C 中无缝集成 Python 代码的能力。使用 Pybind11,你可以很容易地从 C 调用 Python 代码,反之亦然。下面我将通过一个简单的例子来展示如何在 Ubuntu 系统上使用 Pybind11 从 C 调用 Python 接口。 安装…...
docker安装和使用kafka
1. 启动zookeeper Kafka依赖zookeeper, 首先安装zookeeper -p:设置映射端口(默认2181) docker run --name zookeeper \--network app-tier \-e ALLOW_ANONYMOUS_LOGINyes \--restartalways \-d bitnami/zookeeper:latest2. 启动kafka docker…...
CTP-API开发系列之接口对接准备
CTP-API开发系列之接口对接准备 CTP-API开发系列之接口对接准备CTP-API文件清单CTP-API通用规则命名规则Spi与Api CTP-API通讯模式开发语言选择 CTP-API开发系列之接口对接准备 CTP-API文件清单 文件名说明ThostFtdcTraderApi.h交易接口,C头文件,包括 …...
C++小记 -链表
链表 文章目录 链表链表基础理论链表的类型单链表双链表循环链表 链表的存储方式链表的定义链表的操作添加节点删除节点 性能分析构建链表删除节点(内存泄漏的坑)1.直接移除2.使用虚拟头结点3.delete指针后,要将指针置为NULL!&…...
网络协议学习DAY1
1.网络协议模型: OSI协议模型 应用层 实际发送的数据 表示层 发送的数据是否加密 会话层 是否建立会话连接 传输层 数据传输的方式(数据报、流式) 网…...
vue3中全局变量的定义和获取
在vue项目中,我们知道vue2定义全局变量是在main.js文件将变量挂载到vue.prototype.name"lisi",在页面通过this.name去调用。但是在vue3中,这个定义全局变量有所改变: const app createApp(App) app.config.globalProp…...
1.2 数据模型 数据库系统概论
目录 1.2.1 两类数据模型 1.2.2 概念模型 1.信息世界中的基本概念 (1)实体 (2)属性 (3)码 (4)实体型 (5)实体集 (6)联系 2.…...
C#中openFileDialog 对话框不在最顶层,TopMost的异常情况
重点!!!若 当前窗体this的TopMost是false,可以设置为true,这样打开的对话框就是最顶层 /// <summary> /// 设置窗体TopMost,缺点和其他程序ide有冲突。例如VS有断点的调试会卡死 /// </summary&g…...
信息安全与阿里云等保三级方案实践总结
信息安全在当今数字化时代变得至关重要,企业和组织需要采取有效措施来保护其数据和信息资产。阿里云作为中国领先的云服务提供商,提供了等保三级方案,帮助用户满足国家信息安全等级保护的要求。本文将探讨信息安全和阿里云等保三级方案的重要…...
嵌入式学习记录——线程
线程基本概念: 线程:线程是一个轻量级的进程,位于进程空间内部,一个进程中可以创建多个线程 1.线程创建: 线程独占栈空间,文本段、数据段和堆区与进程共享 2.线程调度: 与进程调度是一样的 宏观并行,微观串行 3.线程消亡: 与进程消亡是一样的 4.进程和线程…...
同步服务器操作系统公网仓库到本地 _ 统信UOS _ 麒麟KYLINOS
原文链接:同步服务器操作系统公网仓库到本地 | 统信UOS | 麒麟KYLINOS 在如今快速发展的信息技术时代,维护和更新服务器操作系统变得越来越重要。无论是为了提高安全性、增加新功能还是提升系统稳定性,同步公网源仓库到本地都是一个关键步骤。…...
【数仓】flume常见配置总结,以及示例
相关文章 【数仓】基本概念、知识普及、核心技术【数仓】数据分层概念以及相关逻辑【数仓】Hadoop软件安装及使用(集群配置)【数仓】Hadoop集群配置常用参数说明【数仓】zookeeper软件安装及集群配置【数仓】kafka软件安装及集群配置【数仓】flume软件安…...
统计信息锁定
在导入成功后我要收集下这些表的信息,结果发现好几张表都没法收集,用DBMS_STATS包显示ORA-20005:object statistics are locked (stattype ALL),用Analyze命令显示ORA-38029: 对象统计信息已锁定。 解决办法很明确&a…...
生信分析必备:用TBtools打造高颜值热图的5个隐藏技巧
生信分析必备:用TBtools打造高颜值热图的5个隐藏技巧 在生物信息学分析中,热图(Heatmap)是最常用的数据可视化工具之一。一张精心设计的热图不仅能清晰展示基因表达、代谢物含量或其他生物数据的模式,还能让研究成果在…...
【实战指南】系统变量编辑权限问题全解析
1. 系统变量编辑权限问题解析 最近在帮同事调试开发环境时,遇到一个典型问题:明明已经用管理员账号登录,却死活改不了系统环境变量。这让我想起自己刚接触Windows系统时踩过的坑,今天就把这些经验系统梳理一下。 系统变量本质上是…...
告别笨重线性电源!用TL494打造高效BUCK模块,给你的老旧设备供电或做充电器
用TL494打造高效BUCK模块:老设备供电与智能充电的终极解决方案 老旧实验室设备嗡嗡作响的线性电源,不仅效率低下,发热严重,还占据宝贵的工作台空间。而一块基于TL494的高效BUCK模块,可以彻底改变这一局面。本文将带你…...
Wan2.2-I2V-A14B效果展示:RTX4090D优化版生成高清视频作品集,开箱即用
Wan2.2-I2V-A14B效果展示:RTX4090D优化版生成高清视频作品集,开箱即用 1. 惊艳效果预览:专业级视频生成能力 当第一次看到Wan2.2-I2V-A14B生成的视频作品时,很难相信这些画面完全由AI从文字描述创造。这款专为RTX4090D优化的文生…...
Termux:X11的10个核心功能解析:触摸手势、键盘切换与多显示器支持
Termux:X11的10个核心功能解析:触摸手势、键盘切换与多显示器支持 【免费下载链接】termux-x11 Termux X11 add-on application. Still in early development. 项目地址: https://gitcode.com/gh_mirrors/te/termux-x11 Termux:X11是一个专为Android设备优化…...
SQL视图实战:5个真实业务场景下的数据视图应用案例(附代码)
SQL视图实战:5个真实业务场景下的数据视图应用案例(附代码) 在数据驱动的业务环境中,SQL视图(View)就像给数据库操作装上了"快捷方式"按钮。想象一下,当市场部门需要实时销售数据时&a…...
Qwen3-Reranker-0.6B部署教程:对接Weaviate向量数据库Hybrid Search集成
Qwen3-Reranker-0.6B部署教程:对接Weaviate向量数据库Hybrid Search集成 你是不是也遇到过这样的问题?用向量数据库做检索,明明搜出来一堆结果,但排在前面的总感觉不是最想要的。传统的向量相似度搜索,有时候就是差那…...
TranslateGemma高可用部署:健康检查、监控与自动恢复策略
TranslateGemma高可用部署:健康检查、监控与自动恢复策略 1. 为什么高可用部署对TranslateGemma至关重要 TranslateGemma作为企业级神经机器翻译系统,在生产环境中面临着724小时不间断服务的严苛要求。不同于开发测试环境,生产部署必须考虑…...
论文降AI完成后怎么跟导师解释文字变化:沟通话术和注意事项
论文降AI完成后怎么跟导师解释文字变化:沟通话术和注意事项 这是一篇我自己也会反复翻看的教程。因为每次帮朋友降AI的时候,总有些细节差点忘记。 用的工具是嘎嘎降AI(www.aigcleaner.com),4.8元一篇,达标…...
3个步骤掌握Book Searcher:从安装到实战高效图书检索工具
3个步骤掌握Book Searcher:从安装到实战高效图书检索工具 【免费下载链接】private This project has been deleted to avoid legal risks. 项目地址: https://gitcode.com/gh_mirrors/pr/private Book Searcher是一款专为私人图书馆管理设计的高效图书检索工…...
