المسارات
/
Nim
Nim
/
التمارين
/
القائمة المترابطة
القائمة المترابطة

القائمة المترابطة

متوسط

التعليمات

نفّذ قائمة مترابطة مزدوجة.

مثل المصفوفة، القائمة المترابطة بنية بيانات خطية بسيطة. يمكن تنفيذ العديد من أنواع البيانات الشائعة باستخدام القوائم المترابطة، مثل الطوابير والمكدسات والمصفوفات الترابطية.

القائمة المترابطة مجموعة من عناصر البيانات تُسمى العُقد. في القائمة المترابطة المفردة تحمل كل عقدة قيمة ورابطًا إلى العقدة التالية. وفي القائمة المترابطة المزدوجة تحمل كل عقدة أيضًا رابطًا إلى العقدة السابقة.

ستكتب تنفيذًا لقائمة مترابطة مزدوجة. نفّذ Node لتحمل قيمة ومؤشرات إلى العقدتين التالية والسابقة. ثم نفّذ List تحتفظ بمراجع إلى العقدة الأولى والأخيرة، وتقدّم واجهة شبيهة بالمصفوفة لإضافة العناصر وإزالتها:

  • push (إدراج قيمة في النهاية)؛
  • pop (إزالة قيمة من النهاية)؛
  • shift (إزالة قيمة من البداية).
  • unshift (إدراج قيمة في البداية)؛

حرصًا على أن يبقى تنفيذك بسيطًا، لن تغطي الاختبارات حالات الخطأ. وتحديدًا: لن تُستدعى pop أو shift أبدًا على قائمة فارغة.

اقرأ المزيد عن القوائم المترابطة على ويكيبيديا.


المصدر

موضوع كلاسيكي في علوم الحاسوب
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Nim Exercism

مستعد لبدء القائمة المترابطة؟

سجّل في Exercism لتتعلّم وتتقن Nim عبر 70 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.