问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

归并排序c++?

发布网友 发布时间:2022-06-28 16:32

我来回答

2个回答

热心网友 时间:2023-10-09 22:36

#include<bits/stdc++.h>
using namespace std;
long long n,ai[1000010],t[1000005],ans;
void Merge(long long arr[], long long l,long long r)
{
if (l==r) return;
long long mid=(l+r)>>1;

Merge(arr,l,mid);

Merge(arr,mid+1,r);
long long i=l,j=mid+1,k=l;
while(i<=mid&&j<=r)

{
if (arr[i]>arr[j])

{

t[k++]=arr[j++];

// ans+=mid-i+1;

}
else

t[k++]=arr[i++];

}
while(i<=mid) t[k++]=arr[i++];
while(j<=r) t[k++]=arr[j++];
for(i=l;i<=r;i++)

arr[i]=t[i];
}
int main()
{
cin>>n;
for(long long i=1;i<=n;i++)
cin>>ai[i];
Merge(ai,1,n);
for(int i=1;i<=n;i++)
cout<<ai[i]<<" ";

cout<<endl;
//cout<<ans<<endl;
return 0;
}
补充:
ans是求逆序对的,这里不需要
如果空间超限把long long 改成int

热心网友 时间:2023-10-09 22:36

oj代码c++如下:


#include<iostream>

using namespace std;

int a[1000016];

void merge(int l,int r,int mid)

{

int aux[r-l+1],i,j,k;

for(k=l;k<=r;k++)

aux[k-l]=a[k];

i=l;

j=mid+1;

for(k=l;k<=r;k++)

{

if(i>mid)

{

a[k]=aux[j-l];

j++;

}

else if(j>r)

{

a[k]=aux[i-l];

i++;

}

else if(aux[i-l]>aux[j-l])

{

a[k]=aux[j-l];

j++;

}

else

{

a[k]=aux[i-l];

i++;

}

}

}

void merge_sort(int l,int r)

{

if(l>=r) return ;

int mid=(l+r)/2;

merge_sort(l,mid);

merge_sort(mid+1,r);

merge(l,r,mid);

}

void mergesort(int l,int r)

{

merge_sort(l,r-1);

}

int main()

{

int n,i;

scanf("%d",&n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

mergesort(0,n);

for(i=0;i<n-1;i++)

{

printf("%d ",a[i]);

}

if(n) printf("%d\n",a[i]);//printf("%d",a[i]);

return 0;

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
莲花冬天发芽好吗 过冬荷花什么时候发芽 一个手机号怎样登陆两个孩子的长沙市中小学生人人通云平台 人人通怎么进入学校 人人通电脑版学生怎样登录 名侦探柯南真人版3为什么要换人? 真人版柯南,你最喜欢小栗旬还是沟端淳平? 央企中国稀土集团落户江西,衷心希望江西摆脱“环江西经济带”地位_百度... 来天津的央企有哪些 东丽区的央企有哪些 心思细致,逻辑缜密,遇上问题镇静自若,擅长攻克困难的星座有哪些? 脾气很差但是命却很好的三个星座,原因是什么 性格超级内向,不善言谈,沉默寡言让与之交流的人无语、抓狂的星座有哪些? 怎么才识别5G串号怎么查? 不为五斗米折腰,一身傲骨,拒绝迎合他人的星座是谁? 爱因斯坦的等效原理是怎么推倒出来的? 人为什么会有情感 为什么说爱因斯坦的等效原理是有其道理的 宁愿孤独一生,也不愿弯腰迎合,有傲气也独立的星座是谁? 很容易产生感情的男女关系,是哪几种呢? 叔的本意是什么 男女维持的关系!感情!高手分析下! 孤僻成性,不迎合,不巴结,活得最自我的星座有哪些呢? 举重对人体有什么作用 矿泉水瓶设计比较好看的是哪个品牌的? 感情中男生应该怎么做能稳固两人之间的感情? 脸上长痤疮怎么办?怎么能快点消除? 梦幻西游5开组合花果山天宫无底洞女儿村普陀山可以么 梦幻西游155魔花果山和凌波城和力五庄,哪个更强,更适合五开? 发物都有什么 三月中旬,防备小人,明枪暗箭,避免高调,或有意外收获的星座是哪些? 3月26日为什么拉警报 71年的女猪三月份运气如何71年猪八月十三生人运程心情不好小人多 为什么我的MP3全部清空了,可是它的储存量显示还是77%呢? 3DMax ,官网下载,两个包怎么整? 85年农历3月24 女 今年犯太岁,小人很多怎么办?从大年30到现在就没顺过,求大师指点一下下啊!急啊。。 1973年3月13日上午8:30出生的犯小人 每天对着电脑超过八小时,对健康有什么危害? 求高手帮忙算命。 生日是3月22号的女孩子戴什么水晶可以助事业和防小人啊? 十二星座为什么越来越不想谈恋爱? 女人如何撒娇 12星座女生不喜欢的恋爱方式 DNF永久封号是不是3年啊 5种撒娇让男人离不开你教你让男人动心的13招撒娇技巧 灌肠的水会流到胃里去吗 灌肠后两天没大便,正常吗 中国电信天津公司销售经理岗是做什么的?和办理业务的营业员有区别吗? 华为H3C MSR3020,如何备份配置文件和VRP系统。急。本人有tftp server。详细点谢谢 异性好友想做情侣,这么做会带来哪些弊端?