ترتيب الفقاعات

من ويكيبيديا، الموسوعة الحرة

ترتيب الفقاعات هو خوارزمية ترتيب منتقدة لبطئها. و هي تعمل على رفع العنصر الأكبر كفقاعة الهواء التي ترتفع إلى أعلى و ذلك بترتيب العناصر بتتابع. أي نقوم بمقارنة العنصرين الأول و الثاني, نختفظ بالعنصر الأكبر, و نبدل الأماكن إذا كانا غير مرتبين. نقوم بهذه العملية إلى آخر عنصر. بعد ذلك نعيد العمليات إلى أن المكان ما قبل الأخير و هكذا دواليك... نتوقف عند وجود جدول بالبعد 1 أو عندما لا نقوم بالتبديلات عند آخر عملية.

لترتيب جدول A بعده N,عدد المقارنات سيكون: N(N-1) \over 2.

أما عدد التبديلات فهو في المتوسط N(N-1) \over 4.

[تحرير] مثال لترتيب الفقاعات بلغة 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;
                        }
}
خوارزميات الترتيب

بالفقاعات · بالإختيار · بالإدراج · سريع ·