تمرين على الدرس

تتبّع Bubble Sort من اليمين لليسار

تحليل كودالعلامة: 4

السؤال الأصلي

تتبّع نسخة Bubble Sort المعروضة التي تمر من اليمين لليسار على [5,2,4,6,1]. اكتب array بعد كل مرور كامل ومجموع مقارنات القيم وswaps. لماذا نحتاج مرورًا آخر بعد أن تصبح القيم مرتبة أول مرة؟

الكود أو الخطوات
#include <utility>
void bubbleSort(int a[], int n) {
    bool sorted = false;
    int last = n - 1;
    for (int i = 0; i < last && !sorted; ++i) {
        sorted = true;
        for (int j = last; j > i; --j) {
            if (a[j - 1] > a[j]) {
                std::swap(a[j - 1], a[j]);
                sorted = false;
            }
        }
    }
}
المصدر والصفحة الكاملة يحتاج إلى مراجعة

تمرين تعليمي مؤلف لتطبيق أفكار هذه المحاضرة وأمثلتها. ليس من امتحان تاريخي، ولا ينسب نصه إلى الدكتور.

تمرين تكميلي بتقييم ذاتي. جرى فحص الحسابات والبنية ببرنامج verify-notebook-batch2.mjs؛ لا يمثل نقلًا لسؤال امتحان أو اعتمادًا للمصدر.

خوارزميات الترتيبالاستدعاء الذاتي وعلاقات التكرار
دفتر Algorithms الكامل من قناة تيليجراممحادثة تيليجرام

محاولتك

تُحفظ تلقائيًا

خطوة صغيرة. فهم أعمق.ألجولاب · دفتر شخصي للدراسة