Я получаю ошибку времени выполнения каждый раз, когда запускаю этот код, алгоритм кажется правильным, я использую длинные значения вместо целых, потому что размер массива большой.
так в чем проблема?
void mergeSort(long left,long right, int a[],long n)
{
clock_t ts,te;
ts=clock();
m2(left,right,a,n);
te=clock();
times[4]+=((double)(te-ts)/CLOCKS_PER_SEC)*1000;
}
void m2(long left,long right, int a[],long n)//related to mergesort
{
int center;
if( left < right )
{
center = (left + right) / 2;
mergeSort(left,center,a,n);
mergeSort(center+1,right,a,n);
merge(left,right,center,a,n);
}
}
Заранее спасибо
Nathalie;