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

اكواد جافا تظهر انواع الفرز

بدأه ضحكتي دمعتي في 3 أبريل 2008 · 15 رد · 3,178 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله تعالى وبركااااته

ارجوووووووووووكم ساعدوني انا عندي اختبار جافا يوم السبت وماني فاهمه شي وانا لسى مبتدئه والاستاذه الله يسامحها مااعطتنا اورق او ملخصات نذاكر منها

ارجوووكم ساعدوني واشرحولي كود

bubble sort,selection sort,insertion sort

و قالت راح تطلب مننا رسم لمن نسوي كل خطوه للسوابنق

وكود display,deletion,searching in Array

ارجو انكم تساعدوني الله يجزاكم خير الجزاء

ولكم جزيل الشكررر.......

#2

لم افهم الاختبار ... هل هو عبارة عن اختبارين في اختبار واحد ...

او انك هل تريدين شرح فقط للـ Array وكيفية الاضافة والبحث والمسح منها ... ام ماهو المفاهيم التي تعتمد عليها

مجرد توضيح اكثر للموضوع ...

تم تعديل هذه المشاركة بواسطة Jsp في 3 أبريل 2008 في 12:20

#3

SELECTION SORT

فكرة عملها بسيطة و هي :

1- حدد أول عنصر في المصفوفة

2- ابدأ من العنصر الثاني في المصفوفة إلى اخرها , و حدد اقل قيمة من العناصر .

3- قارن اقل قيمة من العناصر مع اول عنصر في المصفوفة

4- إذا اول عنصر في المصفوفة اكبر من العنصر الذي تم تحديده , أذن قم بعملية تبديل بين العنصر الأول

و العنصر الذي تم تحديده

5- نقوم بتكرار العمليات السابقة و لكن باعتبار ان العنصر الثاني في المصفوفة هو العنصر الأول في المصفوفة الجديدة.

مثال :

[5 4 3 2 1]

هذه مصفوفة مكونة من خمس عناصر , نقوم باتباع الخطوات السابقة كما يلي :-

1- حدد أول عنصر في المصفوفة = 5

2- ابدأ من العنصر الثاني في المصفوفة إلى اخرها , و حدد اقل قيمة من العناصر

بالبدء من العنصر الثاني لاخر المصفوفة نجد ان الرقم 1 هو الأقل .

3- قارن اقل قيمة من العناصر مع اول عنصر في المصفوفة ( اي الرقم 1 مع الرقم 5)

4- إذا اول عنصر في المصفوفة اكبر من العنصر الذي تم تحديده , أذن قم بعملية تبديل بين العنصر الأول

و العنصر الذي تم تحديده ( نجد ان 5 اكبر من 1 ) إذذن تقوم بعملية التبديل بين 1 و 5

* المصفوفة الناتجة الجديدة هي :

[1][4 3 2 5]

5- نقوم بتكرار العمليات السابقة و لكن باعتبار ان العنصر الثاني في المصفوفة هو العنصر الأول في المصفوفة الجديدة.

معنى هذا الكلام ان نبدا من العنصر الثاني اي من القيمة 4 , فتكون المصفوفة كالتالي

----------------------------------------------------

[4 3 2 5]

و نكرر السابق على المصفوفة كالتالي :

هذه مصفوفة مكونة من اربع عناصر , نقوم باتباع الخطوات السابقة كما يلي :-

1- حدد أول عنصر في المصفوفة = 4

2- ابدأ من العنصر الثاني في المصفوفة إلى اخرها , و حدد اقل قيمة من العناصر

بالبدء من العنصر الثاني لاخر المصفوفة نجد ان الرقم 2 هو الأقل .

3- قارن اقل قيمة من العناصر مع اول عنصر في المصفوفة ( اي الرقم 2 مع الرقم 4)

4- إذا اول عنصر في المصفوفة اكبر من العنصر الذي تم تحديده , أذن قم بعملية تبديل بين العنصر الأول

و العنصر الذي تم تحديده ( نجد ان 4 اكبر من 2 ) إذذن تقوم بعملية التبديل بين 2 و 4

* المصفوفة الناتجة الجديدة هي :

[2][3 4 5]

5- نقوم بتكرار العمليات السابقة و لكن باعتبار ان العنصر الثاني في المصفوفة هو العنصر الأول في المصفوفة الجديدة.

معنى هذا الكلام ان نبدا من العنصر الثاني اي من القيمة 3 , فتكون المصفوفة كالتالي

----------------------------------------------------

[3 4 5]

و نكرر السابق على المصفوفة كالتالي :

هذه مصفوفة مكونة من ثلاث عناصر , نقوم باتباع الخطوات السابقة كما يلي :-

1- حدد أول عنصر في المصفوفة = 3

2- ابدأ من العنصر الثاني في المصفوفة إلى اخرها , و حدد اقل قيمة من العناصر

بالبدء من العنصر الثاني لاخر المصفوفة نجد ان الرقم 4 هو الأقل .

3- قارن اقل قيمة من العناصر مع اول عنصر في المصفوفة ( اي الرقم 3 مع الرقم 4)

4- إذا اول عنصر في المصفوفة اكبر من العنصر الذي تم تحديده , أذن قم بعملية تبديل بين العنصر الأول

و العنصر الذي تم تحديده ( نجد ان 3 اقل من 4 ) لذلك لا نقوم بعمليات استبدال

* المصفوفة الناتجة الجديدة هي :

[3][4 5]

5- عند هذه النقطة نتوقف لماذا ؟؟

و ذلك لأن عدد عناصر المصفوفة الأصلية يساوي 5 أي ن = 5 و لذلك يجب ان نتوفق عندما يصبح عدد عناصر المصفوفة يساوي

ن-2 = 3 و نحن كما نرى ان عدد عناصر المصفوفة النهائية التي نتجت = 3 و هي (3 4 5 )

وتكون عندنا الان نتيجة الترتيب و هي

[1 2 3 4 5]

----------------------------------------------------

تم تعديل هذه المشاركة بواسطة MKSoft في 3 أبريل 2008 في 12:28

#4

كود selection sort

public class SelectionSort 
{ 
	public static void selectionSort (int[] a) 
	{ 
		for (int i=0; i<a.length; i++)
		swap(a, i, minIndex(a, i)); 
	}
 	//find the index of the minimum after position i  
	private static int minIndex (int[] a, int i) 
	{ 
		int m = i;

		for (int j=i+1; j<a.length; j++)
		{
			if (a[j] < a[m])
			m = j; 
		}
		return m; 
	}
 	//swap two elements in the array  
	private static void swap (int[] a, int i, int j)
	{
		int h = a;
		a = a[j];
		a[j] = h; 
	} 
}
#5

ارجو من اعضاء المنتدى عدم المساعدة في المواضيع المخالفة

و ارجو من العضو صاحب المشاركة ان لا يعيد المخالفة لاني رح اسكر الموضوع في المرة الجاي

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#6

العنوان غير مناسب

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#7

ضحكتي دمعتي كتب:
السلام عليكم ورحمة الله تعالى وبركااااته

الاستاذه الله يسامحها مااعطتنا اورق او ملخصات نذاكر منها

وعليكم السلام

لا اضن انه هناك مدرس او مدرسة يفعل هذا الشئ ...

لاننا طلاب جامعات وما زلنا ولا اضن انه موجود هكذا اشياء ...

رامي العيساوي كتب:
ارجو من اعضاء المنتدى عدم المساعدة في المواضيع المخالفة

و ارجو من العضو صاحب المشاركة ان لا يعيد المخالفة لاني رح اسكر الموضوع في المرة الجاي

صديقي العيساوي .. ساقترح عليك حل ..

هلا انا رح حط انو اع الفرز كود بالجافا كلشي مشتغلو ...

بالتالي فيك تغير اسم الموضوع .. وما في داعي تعصب صحتك عنا بالدنيا :wub:

رح حط انواع الفرز مع الكود البرمجي ... لان المنتدا او هذا القسم ينقصه هذا الجزء من الشروحات

ولن اضعه من اجل حجة الانسة السائلة .. لانها حجة ناقصة ..

على بركة الله

#8

كود الفرز السريع من اجل n رقم ضمن مصفوفة



/**
* @param args the command line arguments
*/

static public int ARRAY=2500;
static int x[]=new int [ARRAY];
static void swap(int a,int b){

a = a+b-(b = a); //طريقة جديدة لملية ال swap
}
public void read()
{
for(int i=0;i<ARRAY;i++)
x=(int)(Math.random()*5);
}
public void print ()
{
for (int i=0;i<ARRAY;i++)
System.out.println(x);
}
public void Quicksort(int x[],int low,int high)
{
if(low<high)
{
int p=pivote(x,low,high);
Quicksort(x, low, p-1);
Quicksort(x, p+1, high);

}

}
public int pivote (int x[],int p,int high)
{
int l=p+1;
int r=high;
while(l<=r)
{
for( ;x[r]>x[p];r--);
for( ;x[l]>x[p];l++);
if(l<r)
{
swap(x[l],x[r]);
r--;
l++;
}


}
swap(x[p],x[r]);

return r;

}

public static void main(String[] args) {

Main m=new Main();

m.read();



m.pivote(x, 0, ARRAY-1);

}

}
public class Main {

يقوم على أساس تقسيم المصفوفة إلى مصفوفتين جزئيتين حيث يكون عناصر الأولى أصغر من كافة عناصر الثانية

و يعاد تطبيق العملية من أجل كلا المصفوفتين الجزئيتين

ولتحقيق ذلك نختار عنصر نعتبره المحور pivote حيث تحقق المتراجحة على جوانب هذا العنصر.

786287-586.jpg

786287-587.jpg

786287-588.jpg

#9

الفرز بالدمج من اجل n رقم



static public int ARRAY=25000;
static int x[]=new int [ARRAY];

public void read()
{
for(int i=0;i<ARRAY;i++)
x=(int)(Math.random()*5);
}
public void merge(int x[],int low,int mid,int high)
{
int i,j,k;
i=low;
j=mid+1;
k=low;
int temp[]=new int[ARRAY];
while(i<=mid && j<=high)
{
if(x<x[j])
temp[k++]=x[i++];
else
if(x>x[j])
temp[k++]=x[j++];
else
{
temp[k++]=x[i++];
temp[k++]=x[j++];
}
}
while(j<=high)
temp[k++]=x[j++];
while(i<=mid)
temp[k++]=x[i++];
for(i=low; i<=high;i++)
x=temp;
}
public void mergesort(int x[],int low,int high)
{

if(low!=high)
{
int mid=(high+low)/2;
mergesort(x, low, mid);
mergesort(x, mid+1, high);
merge(x, low, mid, high);

}

}



public static void main(String []args)
{

Main m=new Main();


m.read();
m.mergesort(x ,0 ,ARRAY-1);

}


}
public class Main {

786292-582.jpg

786292-583.jpg

786292-584.jpg

786292-585.jpg

#10

الفرز bubble لا اعرف ما اسمه بالعربي لانو لهلا ما حدا جاوبني :D ايضا من اجل n رقم


int ARRAY=2500;

int x[]=new int [ARRAY];
public void Read() {
for(int i=0;i<ARRAY;i++)
{
x=(int)(Math.random()*5);
}

}
public void Sort(){

int temp;
for(int i=0;i<ARRAY;i++)
for(int j=i+1;j<ARRAY-1;j++)
if(x>x[j])
{
temp=x;
x=x[j];
x[j]=temp;
}
public static void main (String[] args)
{
Main t=new Main();

t.Read();

t.Sort();
}
public  class Main {

اضنه واضح ....

#11

الفرز بالاقحام ايضا من اجل n رقم


int ARRAY=2500;

int x[]=new int [ARRAY];
public void Read() {
for(int i=0;i<ARRAY;i++)
{
x=(int)(Math.random()*5);
}

}
// public void print()
// {
// for(int i=0;i<ARRAY;i++){
//
// System.out.println(x); }
// }
public void sort()
{
int key,i;
for(int j=0;j<ARRAY;j++)
{

key=x[j];
i=j-1;
while(i>0&&x>key)
{
x[i+1]=x;
i=i-1;
}
x[i+1]=key;
}

}
public static void main (String[] args)
{
Main t=new Main();

t.Read();

t.sort();
}
public  class Main {

كوده يشرح نفسه ايضا ...اضنه واضح .

ارجو من الانسة التي سألت انو تكون قد اجبتها نوعا ما

واذا حصل معاكي اي اشكال او عدم وضوح انا جاهز لتلبية ... واذا كانت مادتكي هي عبارة عن خوارزميات

وتريدين تعقيد الخوارزمية والحالة الافضل والاسوء من انواع الفرز .. بتقدري بتراسليني برسالة

الله معكم

#12

ايه و الله شكرا الك انقذتني من جلطة مؤكدة :)

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#13

الترتيب الفقاعي (bubble Sort)

شرح رائع تسلموا بارك الله فيكم

لا اله الا أنت سبحانك أني كنت من الظالمين

---------------------------------------------------------------------

#14
hala_moon كتب:
الترتيب الفقاعي (bubble Sort)

شكرا على المعلومة :thumb_up:

الله معِك.

#15

السلام عليكم ورحمة الله تعالى وبركاته

اشكركم اخواني جزيل الشكر على مساعدتكم لي والله يكثر من امثالكم وجزاكم الله خير ونفع الله بكم وبهذا المتلقى الرائع والمبارك..

اختكم

ضحكتي دمعتي.......

#16

والله موضوعك حلو يا shado المصفوفات هذه معقده بس حلوه ومفيده ولو تبحرتم فيها يكون جميل

ونشكر الأخ رامي العساوي على مجهوده الجبار وحرصة على الموقع ونتمنى للجميع التوفيق والسداد :lol: :lol:

20_09_05_04_45_39_1127216739saudi_aC_.gif

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