البرمجة

ترتيب حروف بدون حلقات تكرارية

لتحويل الحلقة التكرارية إلى استدعاء تكراري، يمكنك استخدام متغير مؤشر (index) لتمثيل موضع الحرف الذي سيتم اختياره في كل استدعاء للدالة. إليك كيف يمكن تعديل الكود:

java
public void binary(int n, String str, int index) { String s = "abcdefghijklmnopqrstuvwxyz"; // حالة الوصول إلى الطول المطلوب if (n == 0) { System.out.println(str); return; } // حالة تجاوز الحروف المتاحة if (index >= s.length()) { return; } // استدعاء الدالة مع الحرف الحالي ثم الحرف التالي binary(n - 1, str + s.charAt(index), index); binary(n, str, index + 1); }

في هذا التعديل، يتم استدعاء الدالة مرتين في كل مرة: مرة مع إضافة الحرف الحالي إلى الناتج المؤقت (str) ومرة بدون إضافة أي حرف. تتغير قيمة المؤشر (index) في كل استدعاء للدالة ليتم اختيار الحرف الصحيح في كل مرة.

المزيد من المعلومات

بالطبع! في هذا الكود، الدالة binary تقوم بإنشاء جميع الترتيبات الممكنة للحروف في السلسلة s بطول n، حيث تقوم بطباعة كل ترتيب ممكن. الأمر الذي يميز الدالة هو استخدام التكرار العميق (recursion) بدلاً من حلقة التكرار.

عندما تُستدعى الدالة، تقوم بإضافة حرف من s إلى السلسلة المؤقتة str، ثم تستدعي نفسها مع تقليص طول السلسلة المطلوبة n وزيادة المؤشر index لاختيار الحرف التالي. تستمر هذه العملية حتى يتم اكتمال السلسلة str بالطول المطلوب، حيث تُطبع السلسلة النهائية.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!