归并排序和逆序对数量

技术归并排序和逆序对数量 归并排序和逆序对数量归并排序
#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)

相关推荐

  • 怎么进行Spring-Retry的使用

    技术怎么进行Spring-Retry的使用怎么进行Spring-Retry的使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1 Spring-Retr

    攻略 2021年11月11日
  • 溜组词语,溜组词,四字词语怎么组词呢

    技术溜组词语,溜组词,四字词语怎么组词呢读音:【liū溜组词语、liù】 “溜”的组词有:溜冰、溜圆、溜光、溜走、溜号 “溜”的四字词语:溜之大吉、山溜穿石、走花溜冰、溜之乎也。溜”的组词 溜冰:拼音【liū bīng】

    2021年10月25日
  • 什么是php curl

    技术什么是php curl这篇文章主要讲解了“什么是php curl”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是php curl”吧!

    攻略 2021年11月8日
  • C语言怎么实现内存对齐

    技术C语言怎么实现内存对齐这篇文章主要讲解了“C语言怎么实现内存对齐”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言怎么实现内存对齐”吧!  一、概念      

    攻略 2021年12月8日
  • 一个马的车标是什么车,“一匹马”的车标是什么车

    技术一个马的车标是什么车,“一匹马”的车标是什么车标志中有马的车的品牌有一个马的车标是什么车:法拉利、福特野马、保时捷等。站起来的马是法拉利。奔跑中的是福特野马,带盾牌的马是保时捷。
    法拉利的简介
    法拉利是一家意大利汽车

    生活 2021年10月20日
  • MAC和树莓派如何实现文件共享和TM备份

    技术MAC和树莓派如何实现文件共享和TM备份这篇文章给大家分享的是有关MAC和树莓派如何实现文件共享和TM备份的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用 netatalk 让 Linu

    攻略 2021年11月20日