当前位置:   article > 正文

头歌分治法_头歌分治法答案

头歌分治法答案

第5关 求逆序数
#include “step5.h”

extern int ans; //全局变量,累计逆序数

//两个相邻有序段归并
void Merge(int a[], int low, int mid, int high)
{
/Begin***/

int i=low,j=mid+1,k=0;
int *tmpa=(int *)malloc((high-low+1)*sizeof(int));
while(i<=mid&&j<=high){
if(a[i]<=a[j]){
tmpa[k]=a[i];
i++;k++;
}
else{
ans=ans+mid-i+1;
tmpa[k]=a[j];
k++;j++;
}
}
while(i<=mid){
tmpa[k]=a[i];
k++;i++;
}
while(j<=mid){
tmpa[k]=a[j];
k++;j++;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/490648
推荐阅读
相关标签
  

闽ICP备14008679号