题单:归并排序

样例 #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;
}
相关推荐
将编程培养成爱好2 小时前
C++ 设计模式《外卖骑手状态系统》
c++·ui·设计模式·状态模式
猿太极3 小时前
设计模式学习(3)-行为型模式
c++·设计模式
cynicme4 小时前
力扣3228——将 1 移动到末尾的最大操作次数
算法·leetcode
熬了夜的程序员4 小时前
【LeetCode】109. 有序链表转换二叉搜索树
数据结构·算法·leetcode·链表·职场和发展·深度优先
随意起个昵称4 小时前
【递归】二进制字符串中的第K位
c++·算法
mjhcsp5 小时前
C++ 循环结构:控制程序重复执行的核心机制
开发语言·c++·算法
立志成为大牛的小牛5 小时前
数据结构——四十一、分块查找(索引顺序查找)(王道408)
数据结构·学习·程序人生·考研·算法
xier_ran5 小时前
深度学习:RMSprop 优化算法详解
人工智能·深度学习·算法
地平线开发者5 小时前
不同传感器前中后融合方案简介
算法·自动驾驶
Mr_WangAndy5 小时前
C++_chapter15_C++重要知识点_lambda,initializer_list
c++·lambda·初始化列表