الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفيه عمل main method للـ mergesort

بدأه يارب بك استغيث في 29 نوفمبر 2010 · 1 رد · 423 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
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 ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

تم تعديل هذه المشاركة بواسطة يارب بك استغيث في 29 نوفمبر 2010 في 03:09

#2

هكذا


{
public static void main(String [] args)
{
Merge obj = new Merge();
int []a=new int[5];
int p1=5;
int r1=6;

int continer [] =obj.mergesort(a,p1,r1);

}
}
public class Demo

او اذا حبيت ان يكون في نفس class

لامشكله


{

int []a=new int[5];
int p1=5;
int r1=6;

int continer [] = mergesort(a,p1,r1);

}
public static void main(String [] args)

albert_einstein.jpg

Untitled-AE.jpg

مواضيع مشابهة