import java.io.*;
import java.util.Scanner;
public class Merge{
static int A[];
int L[];
int R[];
int index;
public Merge()
{
int max=0;
A=new int[max];
index=0;
}
public void show()
{
for(index=0;index< A.length;index++)
System.out.println(A[index]);
}
public void insert()
{
Scanner input=new Scanner(System.in);
System.out.println("enter the num of elements ");
int n =input.nextInt();
A=new int[n];
for(int j=0;j<n;j++)
A[j]=(int)(Math.random()*70);
}
public static int[] merge(int B[],int pp,int qq,int rr)
{
int i, j;
int p=pp;
int q=qq;
int r=rr;
int n=q-p+1;
int m=r-q;
int[]L=new int [n];
int[]R=new int [m];
for( i=0 ;i<=L.length;i++)
L=B[p+i-1];
for( j=0;j<=R.length;j++)
R[j]=B[q+j];
for(int k=p;k<r;k++)
{
if(L<R[j])
{
B[k]=L;
i=i+1;
}
else
{
B[k]=R[j];
j=j+1;
}
}
return A;
}
public void mergesort(int []a,int p1,int r1)
{
int p=p1;
int r=r1;
int q;
if(p<r)
{
int s=(p+r)/2;
q=(int)(Math.floor(s));
mergesort(a, p,q-1);
mergesort(a, q,r);
merge( a, p, q, r);
}
}
public static void main(String[] args)
{
Merge m=new Merge();
m.show();
m.insert();
m.mergesort(?????????????);
m.show();
}المفروض ان method الـ merge بتاخد array مترتبه وتقسمها لـ 2arrays مترتبين
والـ mergesort method بتاخد array مش مترتبه وترتبها وتبعتها لـ merge method
ازاى اعمل calling للـ mergesort method ازاى ابعت الـ parameters ليها
او سؤالى بشكل تانى ازاى اعمل الــ main method ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

