خوارزمية الفقاعات
يساوي7 :: الفئة الأولى :: المنتدى الأول
صفحة 1 من اصل 1
خوارزمية الفقاعات
ترتيب الفقاعات
ترتيب الفقاعات لمجموعة اعداد[rtl]
ترتيب الفقاعات (إنكليزي: bubble sort)هي خوارزمية ترتيب منتقدة لبطئها. وهي تعمل على رفع العنصر الأكبر كفقاعة الهواء التي ترتفع إلى أعلى وذلك بترتيب العناصر بتتابع. أي نقوم بمقارنة العنصرين الأول والثاني، نختفظ بالعنصر الأكبر، ونبدل الأماكن إذا كانا غير مرتبين. نقوم بهذه العملية إلى آخر عنصر. بعد ذلك نعيد العمليات إلى أن المكان ما قبل الأخير وهكذا دواليك... نتوقف عند وجود جدول بالبعد 1 أو عندما لا نقوم بالتبديلات عند آخر عملية.
لترتيب N عناصر في المصفوفة A ،عدد المقارنات سيكون: = .
أما عدد التبديلات فهو في المتوسط . حيث N هي عدد العناصر.
تعقيد الخوارزم هو في المعدل, و في الحالة المثلى.
خوارزم ترتيب الفقاعات[عدل][/rtl]
خوارزم ترتيب الفقاعات بلغة C[عدل]
[ltr] typedef int tab_entiers[MAX];
void bubble_sort(tab_entiers t) {
int i، j، tmp;
for(i = 1 ; i < MAX ; i++)
for(j = 0 ; j < MAX - i ; j++)
if(t[j] > t[j+1]) {
tmp = t[j+1];
t[j+1] = t[j];
t[j] = tmp;
}
}
[/ltr]
خوارزم ترتيب الفقاعات بلغة java[عدل]
[ltr] [MAX];
public class Bubble_sort {
/**
* @param args
*/
public static void main(String[] args) {
int name[]= {20,10,-5,6,2,1};
int a = 0 ;
for (int x = 0; x < name.length; x++)
System.out.print(name[x]+" ");
System.out.println();
for (int x = name.length - 1 ; x > 0; x--) {
for (int y = 0; y < name.length-1; y++) {
int temp = name[y];
int temp2 = name[y+1];
if(name[y] > name[y+1]) {
name[y] = temp2;
name[y+1]= temp ;
a++ ;
for (int m = 0; m < name.length; m++)
System.out.print(name[m]+" ");
System.out.println();
}
} System.out.println();
}
for (int v = 0; v < name.length; v++)
System.out.print(name[v]+" ");
System.out.println();
[/ltr][/rtl]
ترتيب الفقاعات لمجموعة اعداد
ترتيب الفقاعات (إنكليزي: bubble sort)هي خوارزمية ترتيب منتقدة لبطئها. وهي تعمل على رفع العنصر الأكبر كفقاعة الهواء التي ترتفع إلى أعلى وذلك بترتيب العناصر بتتابع. أي نقوم بمقارنة العنصرين الأول والثاني، نختفظ بالعنصر الأكبر، ونبدل الأماكن إذا كانا غير مرتبين. نقوم بهذه العملية إلى آخر عنصر. بعد ذلك نعيد العمليات إلى أن المكان ما قبل الأخير وهكذا دواليك... نتوقف عند وجود جدول بالبعد 1 أو عندما لا نقوم بالتبديلات عند آخر عملية.
لترتيب N عناصر في المصفوفة A ،عدد المقارنات سيكون: = .
أما عدد التبديلات فهو في المتوسط . حيث N هي عدد العناصر.
تعقيد الخوارزم هو في المعدل, و في الحالة المثلى.
خوارزم ترتيب الفقاعات[عدل][/rtl]
- الكود:
procedure bubbleSort( A : list of sortable items ) defined as:
do
swapped := false
for each i in 0 to length(A) - 2 inclusive do:
if A[ i ] > A[ i + 1 ] then
swap( A[ i ], A[ i + 1 ] )
swapped := true
end if
end for
while swapped
end procedure
خوارزم ترتيب الفقاعات بلغة C[عدل]
[ltr] typedef int tab_entiers[MAX];
void bubble_sort(tab_entiers t) {
int i، j، tmp;
for(i = 1 ; i < MAX ; i++)
for(j = 0 ; j < MAX - i ; j++)
if(t[j] > t[j+1]) {
tmp = t[j+1];
t[j+1] = t[j];
t[j] = tmp;
}
}
[/ltr]
خوارزم ترتيب الفقاعات بلغة java[عدل]
[ltr] [MAX];
public class Bubble_sort {
/**
* @param args
*/
public static void main(String[] args) {
int name[]= {20,10,-5,6,2,1};
int a = 0 ;
for (int x = 0; x < name.length; x++)
System.out.print(name[x]+" ");
System.out.println();
for (int x = name.length - 1 ; x > 0; x--) {
for (int y = 0; y < name.length-1; y++) {
int temp = name[y];
int temp2 = name[y+1];
if(name[y] > name[y+1]) {
name[y] = temp2;
name[y+1]= temp ;
a++ ;
for (int m = 0; m < name.length; m++)
System.out.print(name[m]+" ");
System.out.println();
}
} System.out.println();
}
for (int v = 0; v < name.length; v++)
System.out.print(name[v]+" ");
System.out.println();
[/ltr][/rtl]
محمد جهاد الجبارين- عضو متقدم
- عدد المساهمات : 1448
تاريخ التسجيل : 11/11/2013
العمر : 22
الموقع : الدوارة\سعير \ الخليل
العمل/الترفيه : طالب مجتهد
المزاج : ممتاز
مواضيع مماثلة
» خوارزمية الفقاعات
» خوارزمية القسمة والضرب والجمع والطرح (6)
» خوارزمية القسمة والضرب والجمع والطرح (7)
» خوارزمية القسمة
» خوارزمية القسمة والضرب والجمع والطرح (9)
» خوارزمية القسمة والضرب والجمع والطرح (6)
» خوارزمية القسمة والضرب والجمع والطرح (7)
» خوارزمية القسمة
» خوارزمية القسمة والضرب والجمع والطرح (9)
يساوي7 :: الفئة الأولى :: المنتدى الأول
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى