الدرس 14: فرز مصفوفة — bubble sort
لدينا مصفوفة — والآن سنتعلّم ترتيبها من الأصغر إلى الأكبر. فكرة bubble sort بسيطة: قارِن كل زوج من الجيران، وإذا كانا بترتيب معكوس — بدِّل بينهما. التبديل يحتاج إلى متغيّر مساعد في ثلاث خطوات: temp = a; a = b; b = temp; — بدون temp تُمحى القيمة الأولى. بعد كل تمريرة (pass) 'يطفو' العنصر الأكبر إلى ا
تخيّل أطفالًا في صفّ يرتّبون أنفسهم حسب الطول: في كل مرة يتقارن جاران، وإذا كان الأيسر أطول — يتبادلان المكان. بعد تمريرة واحدة على طول الصفّ، يكون الطفل الأطول قد 'طفا' إلى النهاية — كفقاعة ترتفع إلى الأعلى.
- الفرز
- ترتيب عناصر المصفوفة حسب تسلسل، مثلًا من الأصغر إلى الأكبر. المصفوفة المفروزة يسهل البحث فيها وقراءتها.
- الفرز الفقاعي (bubble sort)
- فرز يقارن الجيران ويبدّل بينهم مرارًا وتكرارًا؛ في كل تمريرة 'يطفو' الأكبر إلى النهاية.
- التبديل باستخدام temp
- ثلاث خطوات: temp = a; a = b; b = temp; — المتغيّر temp يحفظ القيمة التي على وشك أن تُستبدل.
- تمريرة (pass)
- تشغيل واحد للحلقة الداخلية على طول المصفوفة. بعد التمريرة i، تكون نهاية المصفوفة مفروزة بالفعل.
- فرز الاختيار (selection sort)
- فكرة مختلفة: في كل جولة ابحث عن أصغر عنصر متبقٍّ وضعه في موضعه — تبديل واحد لكل جولة.