#include <iostream>
using namespace std;
void Merge(int *data,int start,int between,int end)
{
int length1=between-start+2;
int length2=end-between+1;
int Left[length1];
int Right[length2];
for(int i=0;i<length1-1;i++)
Left[i]=data[start+i];
Left[length1-1]=100000;
for(int i=0;i<length2-1;i++)
Right[i]=data[between+i+1];
Right[length2-1]=100000;
int i=0,j=0;
for(int index=start;index<=end;++index)
{
if (Left[i]<=Right[j])
{
data[index]=Left[i++];
}
归并排序分析
本文介绍了归并排序的原理,并提供了C++实现代码。通过递归将数组分为两部分,分别排序后再进行合并,确保了排序的稳定性。归并排序的时间复杂度为O(Nlog(N))。
摘要由CSDN通过智能技术生成