当前位置: 首页 > news >正文

6-2 归并排序

6-2 归并排序

分数 10

全屏浏览

切换布局

作者 软件工程DS&A课程组

单位 燕山大学

以下代码采用分而治之算法实现归并排序。请补充函数mergesort()的代码。提示:mergesort()函数可用递归实现,其中参数n在递归调用中不需要变化。

函数接口定义:


void mergesort(int a[],int n,int left,int right);

其中a[]n ,left和 right 都是用户传入的参数。 `

裁判测试程序样例:

#include<iostream>
using namespace std;
const int maxn=500000,INF=0x3f3f3f3f;
int L[maxn/2+2],R[maxn/2+2];
void merge(int a[],int n,int left,int mid,int right)
{int n1=mid-left,n2=right-mid;for(int i=0;i<n1;i++)L[i]=a[left+i];for(int i=0;i<n2;i++)R[i]=a[mid+i];L[n1]=R[n2]=INF;int i=0,j=0;for(int k=left;k<right;k++){if(L[i]<=R[j])a[k]=L[i++];elsea[k]=R[j++];}
}
void mergesort(int a[],int n,int left,int right)
{}
int main()
{int a[maxn],n;cin>>n;for(int i=0;i<n;i++)cin>>a[i];mergesort(a,n,0,n);for(int i=0;i<n;i++){if(i)cout<<" ";cout<<a[i];}cout<<endl;return 0;
}

输入样例:

10
23 -8 45 6 17 5 998 30 26 77

输出样例:

-8 5 6 17 23 26 30 45 77 998

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

代码分享:

 for(int i=left;i<right;i++){for(int j=i;j<right;j++){if(a[j]<a[i]){int temp=a[i];a[i]=a[j];a[j]=temp;}}}

相关文章:

6-2 归并排序

6-2 归并排序 分数 10 全屏浏览 切换布局 作者 软件工程DS&A课程组 单位 燕山大学 以下代码采用分而治之算法实现归并排序。请补充函数mergesort&#xff08;&#xff09;的代码。提示&#xff1a;mergesort&#xff08;&#xff09;函数可用递归实现&#xff0c;其中参…...

Java NIO(一) 概述

NIO主要用于以少量线程来管理多个网络连接&#xff0c;处理其上的读写等事件。在大量连接情况下&#xff0c;不管是效率还是空间占用都要优于传统的BIO。 Java NIO 由以下几个核心部分组成&#xff1a; Channel Buffer Selector Selector 如果你的应用打开了多个连接&#x…...

JUC线程池最佳实践

参考&#xff1a;Java 线程池最佳实践 | JavaGuide 使用构造函数创建线程池。【使用有界队列&#xff0c;控制线程创建数量】 SpringBoot 中的 Actuator 组件 / ThreadPoolExecutor 的相关 API监控线程池运行状态 是不同的业务使用不同的线程池【父子任务用同一个线程池容易死…...

2024最新版Node.js下载安装及环境配置教程(非常详细)

一、进入官网地址下载安装包 官网&#xff1a;Node.js — Run JavaScript Everywhere 其他版本下载&#xff1a;Node.js — Download Node.js (nodejs.org) 选择对应你系统的Node.js版本 二、安装程序 &#xff08;1&#xff09;下载完成后&#xff0c;双击安装包&#xf…...

计算机网络5:运输层

概述 进程间基于网络的通信 计算机网络中实际进行通信的真正实体&#xff0c;是位于通信两端主机中的进程。 如何为运行在不同主机上的应用进程提供直接的逻辑通信服务&#xff0c;就是运输层的主要任务。运输层协议又称为端到端协议。 运输层向应用层实体屏蔽了下面网络核心…...

昂科烧录器支持HangShun航顺芯片的32位微控制器HK32F030C8T6

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中HangShun航顺芯片的32位微控制器HK32F030C8T6已经被昂科的通用烧录平台AP8000所支持。 HK32F030C8T6使用ARM Cortex-M0内核&#xff0c;最高工作频率96 MHz&#xff0c;内置最…...

纯css星空动画

让大家实现一个这样的星空动画效果,大家会怎么做? js,不! 其实使用css就能写 我也不藏着掖着,源码直接放下面了 <script setup></script><template><div class"box"><div v-for"i in 5" :key"i" :class"layer…...

使用Apache Flink实现实时数据同步与清洗:MySQL和Oracle到目标MySQL的ETL流程

使用Apache Flink实现实时数据同步与清洗&#xff1a;MySQL和Oracle到目标MySQL的ETL流程 实现数据同步的ETL&#xff08;抽取、转换、加载&#xff09;过程通常涉及从源系统&#xff08;如数据库、消息队列或文件&#xff09;中抽取数据&#xff0c;进行必要的转换&#xff0…...

postman教程-22-Newman结合Jenkins执行自动化测试

上一小节我们学习了Postman Newman运行集合生成测试报告的方法&#xff0c;本小节我们讲解一下Postman Newman结合Jenkins执行自动化测试的方法。 在软件开发过程中&#xff0c;持续集成&#xff08;CI&#xff09;是一种实践&#xff0c;旨在通过自动化的测试和构建过程来频繁…...

uniapp实现tabBar功能常见的方法

在 UniApp 中实现 Tab 功能通常涉及到使用 <navigator> 组件结合 tabBar 配置&#xff0c;或者通过自定义的视图切换逻辑来实现。以下是两种常见的实现方式&#xff1a; 1. 使用 tabBar 配置 UniApp 支持在 pages.json 文件中配置 tabBar&#xff0c;以在应用的底部或顶…...

智慧在线医疗在线诊疗APP患者端+医生端音视频诊疗并开处方

智慧在线医疗&#xff1a;音视频诊疗新纪元 &#x1f310; 智慧医疗新篇章 随着科技的飞速发展&#xff0c;智慧医疗正逐步走进我们的生活。特别是在线医疗&#xff0c;凭借其便捷、高效的特点&#xff0c;已成为许多患者的首选。而其中的“智慧在线医疗患者端医生端音视频诊疗…...

攻防平台搭建与简易渗透工具箱编写

知识点&#xff1a;攻防平台搭建&#xff0c;虚拟机的网络模式详解&#xff0c;安全脚本编写 虚拟机的网络模式&#xff1a; 虚拟机&#xff08;VM&#xff09;的网络模式决定了虚拟机与宿主机以及外部网络之间的连接方式。不同的虚拟化平台&#xff08;如VMware, VirtualBox,…...

SQL EXISTS 关键字的使用与理解

SQL EXISTS 关键字的使用与理解 SQL&#xff08;Structured Query Language&#xff09;是一种用于管理关系数据库管理系统&#xff08;RDBMS&#xff09;的标准编程语言。在SQL中&#xff0c;EXISTS关键字是一个逻辑运算符&#xff0c;用于检查子查询中是否存在至少一行数据。…...

开源低代码平台,JeecgBoot v3.7.0 里程碑版本发布

项目介绍 JeecgBoot是一款企业级的低代码平台&#xff01;前后端分离架构 SpringBoot2.x&#xff0c;SpringCloud&#xff0c;Ant Design&Vue3&#xff0c;Mybatis-plus&#xff0c;Shiro&#xff0c;JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领…...

名侦探李先生第一话:谁是真正的凶手(只出现一次的数字相关题解(力扣)+位操作符回忆)

引子&#xff1a;我们在之前的案子中破解过基础的单身狗问题&#xff0c;那面对更有挑战的案子&#xff0c;且看李先生如何破局&#xff0c;那下凶手&#xff01; 复习&#xff1a; 1&#xff0c;位操作符&#xff1a; 正整数原&#xff0c;反&#xff0c;补码都相同 首位是…...

【PA交易】BackTrader(一): 如何使用实时tick数据和蜡烛图

背景和需求 整合Tick数据是PA交易的回测与实盘基本需求。多数交易回测框架往往缺乏对大规模Tick数据直接而全面的支持。Tick数据因其体量庞大&#xff08;例如&#xff0c;某棕榈油主力合约四年间的数据达8GB&#xff09;为结合价格趋势与PA分析带来挑战&#xff0c;凸显了实时…...

HTML(16)——边距问题

清楚默认样式 很多标签都有默认的样式&#xff0c;往往我们不需要这些样式&#xff0c;就需要清楚默认样式 写法&#xff1a; 用通配符选择器&#xff0c;选择所有标签&#xff0c;清除所有内外边距选中所有的选择器清楚 *{ margin:0; padding:0; } 盒子模型——元素溢出 作…...

【Godot4自学手册】第四十二节实现拖拽进行物品交换和数量叠加

这一节我们主要学习背包系统中的物品拖拽后&#xff0c;物品放到新的位置&#xff0c;或交换物品位置&#xff0c;如果两个物品属于同一物品则数量相加。具体效果如下&#xff1a; 一、修改item.tscn场景 给item.tscn场景的根节点Item添加Label子节点&#xff0c;命名为Numv…...

存储系统概述

目录 层次结构 存储器的分类 存储器的编址和端模式 存储器端模式 存储器的技术指标 1. 存储容量 示例&#xff1a; 2. 访问速度 访问速度的表现形式&#xff1a; 示例&#xff1a; 3. 功耗 示例&#xff1a; 4. 可靠性 可靠性指标&#xff1a; 示例&#xff1a;…...

Trilium windows上修改笔记目录,创建多个笔记空间方法

一开始使用trilium会非常的不舒服&#xff0c;不像是obsidian可以创建多个笔记空间&#xff0c;指定多个笔记目录。这里摸索到了解决方案 修改目录的方法一 ——修改系统环境变量 打开控制面板-系统-高级系统设置 新增如上条目 修改目录的方法二——直接写bat脚本运行 新建位…...

JetBrains IDE试用期重置工具:30天免费试用无限续杯指南

JetBrains IDE试用期重置工具&#xff1a;30天免费试用无限续杯指南 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否遇到过JetBrains IDE试用期到期&#xff0c;却还没准备好购买许可证的困扰&#xff1f;i…...

抖音视频批量下载难题如何解决?douyin-downloader开源工具完整指南

抖音视频批量下载难题如何解决&#xff1f;douyin-downloader开源工具完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fa…...

容器化GUI自动化:基于Xvfb与xdotool的无头点击测试实践

1. 项目概述与核心价值最近在折腾一些自动化测试和模拟操作的项目&#xff0c;发现了一个挺有意思的镜像&#xff1a;instavm/clickclickclick。光看名字&#xff0c;你大概能猜到它的核心功能——点击。没错&#xff0c;这是一个专门用于模拟鼠标点击、键盘输入等图形界面&…...

EASY-HWID-SPOOFER内核级硬件信息欺骗技术深度解析

EASY-HWID-SPOOFER内核级硬件信息欺骗技术深度解析 【免费下载链接】EASY-HWID-SPOOFER 基于内核模式的硬件信息欺骗工具 项目地址: https://gitcode.com/gh_mirrors/ea/EASY-HWID-SPOOFER EASY-HWID-SPOOFER是一款基于Windows内核模式的硬件信息欺骗工具&#xff0c;通…...

DeepSeek MMLU成绩暴涨11.2分的秘密武器:不是更大参数,而是这个被顶会论文雪藏2年的校准框架(附开源复现代码)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek MMLU成绩暴涨11.2分的实证现象 近期&#xff0c;DeepSeek-R1 在大规模多任务语言理解&#xff08;MMLU&#xff09;基准测试中取得显著突破——其零样本准确率从 72.3% 提升至 83.5%&#xff…...

声临其境 安全直达 ——NR2048 赋能矿场高可靠高清语音通信

在矿山开采作业中&#xff0c;通信是安全生产的生命线。井下巷道狭长封闭、机械轰鸣、粉尘潮湿、瓦斯与易燃易爆环境并存&#xff0c;传统通信设备普遍存在噪声大、回声重、易啸叫、传输模糊、可靠性不足等痛点&#xff0c;直接威胁调度指令下达、应急呼叫响应与人员生命安全。…...

普冉PY32F0系列开发:如何用VSCode+Cortex-Debug插件实现媲美Keil的图形化调试体验?

普冉PY32F0开发实战&#xff1a;VSCodeCortex-Debug打造专业级嵌入式调试环境 在嵌入式开发领域&#xff0c;高效的调试工具往往能决定项目的成败。对于使用普冉PY32F0系列Cortex-M0 MCU的开发者而言&#xff0c;传统商业IDE虽然功能完善&#xff0c;但存在许可成本高、跨平台支…...

双系统党必看:如何把Windows 11设为Ubuntu GRUB菜单的默认启动项(保姆级图文)

双系统用户终极指南&#xff1a;优雅配置GRUB默认启动Windows 11 作为一名长期在Windows和Ubuntu双系统间切换的用户&#xff0c;我完全理解那种开机时盯着GRUB菜单等待倒计时结束的焦躁感。特别是当你赶着开会却误入Ubuntu&#xff0c;或是深夜想打游戏却手滑选了错误选项时&a…...

SignatureTools安卓APK签名工具:5分钟告别复杂命令行,轻松完成专业签名

SignatureTools安卓APK签名工具&#xff1a;5分钟告别复杂命令行&#xff0c;轻松完成专业签名 【免费下载链接】SignatureTools &#x1f3a1;使用JavaFx编写的安卓Apk签名&渠道写入工具&#xff0c;方便快速进行v1&v2签名。 项目地址: https://gitcode.com/gh_mirr…...

ArcGIS Pro 10.8 加载天地图WMTS服务,解决偏移问题的完整配置流程

ArcGIS Pro 10.8 精准集成天地图WMTS服务的全流程解析与偏移修正方案 在专业地理信息处理领域&#xff0c;底图数据的精准配准直接影响空间分析的可靠性。作为国内权威地理信息平台&#xff0c;天地图提供的WMTS服务因其标准化接口和权威数据源&#xff0c;成为GIS工程中的首选…...