定义的全局变量在子函数和主函数中都不能使用,显示未定义
下面是部分程序,请大神指正,谢谢了#include<cstdlib>#include<iostream>#include<fstream>#include<stdio.h...
下面是部分程序,请大神指正,谢谢了
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
int a[100005];
__int64 count=0;
void merge(int a[],int p,int q,int r)
{
int left[100005], right[100005];
int i,j,k;
int num1=q-p+1;
int num2=r-q;
for (i=0;i<num1;i++)
left[i]=a[p+i];
for (j=0;j<num2;j++)
right[j]=a[q+j];
left[num1]=right[num2]=0x7fffffff;
i=j=0;
for(k=p;k<=r;k++)
{
if(left[i]<right[j])
{
a[k]=left[i];
i++;
}
else
{
a[k]=right[j];
j++;
count+=num1-i; //计算逆序数的个数
}
}
return ;
} 展开
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
int a[100005];
__int64 count=0;
void merge(int a[],int p,int q,int r)
{
int left[100005], right[100005];
int i,j,k;
int num1=q-p+1;
int num2=r-q;
for (i=0;i<num1;i++)
left[i]=a[p+i];
for (j=0;j<num2;j++)
right[j]=a[q+j];
left[num1]=right[num2]=0x7fffffff;
i=j=0;
for(k=p;k<=r;k++)
{
if(left[i]<right[j])
{
a[k]=left[i];
i++;
}
else
{
a[k]=right[j];
j++;
count+=num1-i; //计算逆序数的个数
}
}
return ;
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询