[YM]模板-归并排序

devtools/2024/10/18 23:27:16/

概念:

归并排序,其实是一种分治和递归算法

将大问题转化为一个个小问题处理,最终整合成一个大问题

模板:

const int N = 2e5 + 5;
int a[N],b[N],n;void mergeSort(int l, int r){if(l>=r) return;int mid=(l+r)>>1; mergeSort(l,mid); mergeSort(mid+1,r);int i=l,j=mid+1,k=l;while(i<=mid&&j<=r){if(a[i]<=a[j])b[k++]=a[i++]; else b[k++]=a[j++];}while(i<=mid)b[k++]=a[i++];while(j<=r)b[k++]=a[j++];for(int i=l;i<=r;i++)a[i]=b[i];
}void solve(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i];mergeSort(1,n);for(int i=1;i<=n;i++)cout<<a[i]<<" \n"[i==n];
}


http://www.ppmy.cn/devtools/125135.html

相关文章

JAVA基础

1.数据类型 变量就是申请内存来存储值。也就是说&#xff0c;当创建变量的时候&#xff0c;需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间&#xff0c;分配的空间只能用来储存该类型数据。 1.1 基本数据类型 Java语言提供了八种基本类型。六种数字类型…

Centos基线自动化检查脚本

此脚本是一个用于检查Linux系统安全配置的Bash脚本。它通过多项安全标准对系统进行评估&#xff0c;主要检查以下内容&#xff1a; IP地址获取&#xff1a;脚本首先获取主机的IP地址&#xff0c;确保其以10.115开头。 密码策略检查&#xff1a; 检查最小密码长度&#xff08;P…

理解Web3的互操作性:不同区块链的连接

随着Web3的迅速发展&#xff0c;互操作性成为区块链技术中的一个核心概念。互操作性指的是不同区块链之间能够无缝地交流和共享数据&#xff0c;从而实现更加高效和灵活的生态系统。本文将探讨Web3中互操作性的意义、面临的挑战以及未来的发展趋势。 1. 互操作性的意义 在Web…

2025 - 中医学基础 - 考研 - 职称

2025 - 中医学基础 - 考研 - 职称 第1章 中医学导论 1.中医学的指导思想是&#xff08;&#xff09;( ) [单选] A&#xff0e;阴阳学说 B&#xff0e;五行学说 C&#xff0e;精气学说 D&#xff0e;整体观念 E&#xff0e;辨证论治 正确答案: D 2.中医学的理论核心是&…

常用STL容器(c++)

目录 一、vector容器---动态数组 1.为什么要引进动态数组&#xff1f; 2.引用库 3.构造一个动态数组 4.一些增删查改动态数组的方法 5.使用基础的vector 6.构造函数 7.二维动态数组 二、set()容器---集合 1.构造一个集合 2.方法 2.1插入元素 2.2判断元素是否存在 …

【最新华为OD机试E卷-支持在线评测】跳房子I(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

Python 网络爬虫:从入门到实践

在大数据时代&#xff0c;网络爬虫&#xff08;Web Scraping&#xff09;是一项重要的技术&#xff0c;能帮助我们从互联网上获取大量的信息。Python 以其简洁的语法和丰富的库支持&#xff0c;成为实现网络爬虫的首选语言。本文将详细介绍Python网络爬虫的基础知识、常用库&am…

Java对接支付宝支付接口

在Java中对接支付宝支付接口&#xff0c;通常需要使用支付宝提供的开放平台API。以下是一个基本的步骤指南&#xff0c;帮助你开始&#xff1a; 1. 注册支付宝开发者账号 首先&#xff0c;你需要在支付宝开放平台注册一个开发者账号。注册完成后&#xff0c;你需要创建一个应…