ترتيب الفقاعات
من ويكيبيديا، الموسوعة الحرة
ترتيب الفقاعات هي خوارزمية ترتيب منتقدة لبطئها. و هي تعمل على رفع العنصر الأكبر كفقاعة الهواء التي ترتفع إلى أعلى و ذلك بترتيب العناصر بتتابع. أي نقوم بمقارنة العنصرين الأول و الثاني، نختفظ بالعنصر الأكبر، و نبدل الأماكن إذا كانا غير مرتبين. نقوم بهذه العملية إلى آخر عنصر. بعد ذلك نعيد العمليات إلى أن المكان ما قبل الأخير و هكذا دواليك... نتوقف عند وجود جدول بالبعد 1 أو عندما لا نقوم بالتبديلات عند آخر عملية.
لترتيب جدول A بعده N،عدد المقارنات سيكون:
.
أما عدد التبديلات فهو في المتوسط
.
[تحرير] مثال لترتيب الفقاعات بلغة C
typedef int tab_entiers[MAX];
void tri_a_bulle(tab_entiers t) {
int i، j، tmp;
for(i = 0 ; i < MAX ; i++)
for(j = 1 ; j < MAX - i ; j++)
if(t[j] < t[j-1]) {
tmp = t[j-1];
t[j-1] = t[j];
t[j] = tmp;
}
}
|
|

