归并排序和逆序对数量

技术归并排序和逆序对数量 归并排序和逆序对数量归并排序
#includeiostreamusing namespace std;
const int N = 100010;
int q[N];
int

归并排序和逆序对数量

归并排序

#包括牡蛎

使用命名空间标准;

常量整数N=100010

int q[N];

int tmp[N];

void merge_sort(int q[],int l,int r)

{

if(l=r)返回;

int mid=l r 1;

merge_sort(q,l,mid);

merge_sort(q,mid 1,r);

int k=0,i=l,j=mid 1;

而(我=中间j=r)

if(q[I]=q[j])tmp[k]=q[I];

else tmp[k]=q[j];

而(I=mid)tmp[k]=q[I];

而(j=r)tmp[k]=q[j];

对于(i=l,j=0;I=r;I,j)q[I]=tmp[j];

}

int main()

{

int n;

scanf('%d ',n);

for(int I=0;I n;(一)

{

scanf('%d ',q[I]);

}

merge_sort(q,0,n-1);

for(int I=0;I n;(一)

{

printf('%d ',q[I]);

}

}

1.先找中间的点,与快排不一样的是,他要求是位置在中间

2.分成左右两边,归并处理左右两边

3.归并排序,将左右两个有序序列合并成一个有序的序列

逆序对数量

#包含输入输出流

#包含cstring

#包含算法

使用命名空间标准;

typedef长长LL;

常量整数N=100010

int q[N],tmp[N];

LL merge_sort(int q[],int l,int r){ 0

if(l=r)返回0;

int mid=r l 1;

LL res=merge_sort(q,l,mid) merge_sort(q,mid 1,r);

int k=0,i=l,j=mid 1;

而(i=中间j=r)

{

if(q[I]=q[j])tmp[k]=q[I];

其他

{

res=中一1;

tmp[k]=q[j];

}

}

而(I=mid)tmp[k]=q[I];

而(j=r)tmp[k]=q[j];

对于(i=l,j=0;I=r;I,j)q[I]=tmp[j];

返回表示留数

}

int main()

{

int n;

scanf('%d ',n);

for(int I=0;I n;(一)

{

scanf('%d ',q[I]);

}

cout merge_sort(q,0,n-1);

返回0;

}

会产生逆序对只会在中间的的左右两边时,此时若我的值大于j的值,那么我后面的数的值必然会大于j的值。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/70025.html

(0)

相关推荐

  • rocketmq 报什么错要重推(rocketmq能存储多少个topic)

    技术RocketMQ架构上主要分为几个部分这篇文章主要介绍RocketMQ架构上主要分为几个部分,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!技术架构RocketMQ架构上主要分为四部分,如上图所

    攻略 2021年12月18日
  • 高中概率计算公式,谁知道高中求概率的公式是什么

    技术高中概率计算公式,谁知道高中求概率的公式是什么高中概率统计公式的A是排列高中概率计算公式。C是组合。排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列

    生活 2021年10月27日
  • 如何理解Java JVM虚拟机中init和clinit的区别

    技术如何理解Java JVM虚拟机中init和clinit的区别如何理解Java JVM虚拟机中init和clinit的区别,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可

    攻略 2021年10月23日
  • memcached与redis性能测试的示例分析

    技术memcached与redis性能测试的示例分析这篇文章主要介绍memcached与redis性能测试的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!memcached与redis性能

    攻略 2021年11月15日
  • Perl command options

    技术Perl command options Perl command optionsPerl command options
    Citing sourceOption
    Description-0[oct

    礼包 2021年12月21日
  • mysql中where1=1是什么意思

    技术mysql中where1=1是什么意思这篇文章主要介绍“mysql中where1=1是什么意思”,在日常操作中,相信很多人在mysql中where1=1是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年12月10日