题单:归并排序

样例 #1

样例输入 #1样例输出 #1

复制代码
2 5
4 7
2 4 5 7
1 3
2 6
1 2 3 6
1 2 2 3 4 5 6 7
1 2 2 3 4 5 6 7
cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n,a[1000005],tmp[1000005]; 
void mearge(int l,int mid,int r)
{
	int i=l,j=mid+1,k=l;
	while(i<=mid&&j<=r)
	{
		if(a[i]<a[j]) tmp[k++]=a[i++];
		else tmp[k++]=a[j++];
	}
	while(i<=mid) tmp[k++]=a[i++];
	while(j<=r) tmp[k++]=a[j++];
	for(int i=l;i<=r;i++)
	{
		a[i]=tmp[i];
		cout<<a[i]<<" ";
	}
	cout<<endl;
}
void mearge_sort(int l,int r)
{
	if(l==r)
	{
		return ;
	}
	int mid=(l+r)/2;
	mearge_sort(l,mid);
	mearge_sort(mid+1,r);
	mearge(l,mid,r);
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i];
	mearge_sort(1,n);
	for(int i=1;i<=n;i++)
	{
		cout<<a[i]<<" ";
	}
	return 0;
}
相关推荐
咬_咬18 分钟前
C++仿mudo库高并发服务器项目:Buffer模块
服务器·开发语言·c++·缓冲区·buffer·muduo库
敲代码的瓦龙32 分钟前
西邮移动应用开发实验室2025年二面题解
开发语言·c++·算法
RTC老炮40 分钟前
webrtc弱网-RembThrottler类源码分析及算法原理
网络·算法·webrtc
晚风残1 小时前
【C++ Primer】第十七章:标准库特殊设施
开发语言·c++
野蛮人6号1 小时前
力扣热题100道之73矩阵置零
算法·leetcode·矩阵
野蛮人6号1 小时前
力扣热题100道之238除自身以外数组的乘积
算法·leetcode·职场和发展
坚持编程的菜鸟1 小时前
LeetCode每日一题——缀点成线
c语言·算法·leetcode
派大星爱吃猫1 小时前
直接插入排序详解
算法·排序算法·直接插入排序
qq_433554541 小时前
C++ 双向循环链表
开发语言·c++·链表
一只侯子2 小时前
Tuning——CC调试(适用高通)
开发语言·图像处理·笔记·学习·算法