#includeusing namespace std; void merge(int a[],int ra[],int l,int mid,int r) { int i=l; int j=mid+1; int k=l; while(i!=mid+1&&j!=r+1) { if(a[i]>a[j])ra[k++]=a[j++]; else ra[k++]=a[i++]; } while(i!=mid+1) { ra[k++]=a[i++]; } while(j!=r+1) { ra[k++]=a[j++]; } for(int i=l;i<=r;i++) { a[i]=ra[i]; } } void Mergesort(int a[],int ra[],int l,int r) { int mid; if(l >n; for(i=0;i >a[i]; Mergesort(a,b,0,n-1); for(int i=0;i #include
using namespace std;
int a[110],arr[110];
int N;
void merge(int a[],int arr[],int l,int mid,int r)
{
int i=l,j=mid+1,k=l;
while(i{
if(a[i]>a[j])
{
arr[k++]=a[j++];
}
else
{
arr[k++]=a[i++];
}
}
while(i{
arr[k++]=a[i++];
}
while(j{
arr[k++]=a[j++];
}
for(int i=l;i{
a[i]=arr[i];
}
}
void mergesort(int a[],int arr[],int l,int r)
{
int mid=0;
if(l{
mid=l+r>>1;
//mid判断
mergesort(a,arr,l,mid);
mergesort(a,arr,mid+1,r);
merge(a,arr,l,mid,r);
}
}
int main()
{
int N;
cin>>N;
for(int i=0;i>a[i];
mergesort(a,arr,0,N-1);
for(int i=0;i欢迎分享,转载请注明来源:内存溢出
归并排序C++版
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
C语言 基本 概念 值 的概念
上一篇
2022-11-16
c++学习第一阶段
下一篇
2022-11-16
评论列表(0条)