جدول المحتويات:

كيف تحذف قائمة دائرية مرتبطة؟
كيف تحذف قائمة دائرية مرتبطة؟

فيديو: كيف تحذف قائمة دائرية مرتبطة؟

فيديو: كيف تحذف قائمة دائرية مرتبطة؟
فيديو: Circular Singly Linked List (Deleting the First Node) 2024, شهر نوفمبر
Anonim

الحذف من قائمة دائرية مرتبطة

  1. إذا كان قائمة ليس فارغًا ، فنحن نحدد تيارين مؤشرين و prev ونبدأ في تهيئة تيار المؤشر مع عقدة الرأس.
  2. اجتياز قائمة باستخدام تيار للعثور على العقدة المراد حذفها وقبل نقل التيار إلى العقدة التالية ، كل مرة يتم ضبطها prev = cur.
  3. إذا تم العثور على العقدة ، فتحقق مما إذا كانت العقدة الوحيدة في ملف قائمة .

بهذه الطريقة ، كيف تحذف عقدة أخيرة في قائمة مرتبطة دائرية؟

حذف العقدة الأخيرة من قائمة Linekd الدائرية

  1. خذ مؤشرين حاليين وسابقين واجتازوا القائمة.
  2. حرك كلا المؤشرين بحيث يشير التالي من السابق دائمًا إلى التيار.
  3. بمجرد وصول المؤشر الحالي إلى العقدة الأخيرة ، قم بما يلي:

أيضًا ، كيف تحذف عنصرًا من قائمة مرتبطة؟ هناك بضع خطوات لحذف عنصر معين من القائمة:

  1. ابحث عن العقدة التي تحتوي على العنصر (إن وجدت).
  2. قم بإزالة تلك العقدة.
  3. أعد توصيل القائمة المرتبطة.
  4. قم بتحديث الرابط إلى البداية (إذا لزم الأمر).

في المقابل ، كيف يمكنك عكس قائمة دائرية مرتبطة؟

يوجد أدناه منطق خطوة بخطوة لعكس قائمة دائرية مرتبطة

  1. قم بتهيئة ثلاثة متغيرات للمؤشر ، Last = head ، cur = head-> next and prev = head.
  2. حرك عقدة الرأس للأمام ، أي head = head-> next ؛
  3. ربط العقدة الحالية بالعقدة السابقة ، مثل cur-> next = prev ؛
  4. اجعل العقدة السابقة بمثابة العقدة الحالية أي prev = cur ؛

ما هي القائمة الدائرية المرتبطة بشكل مضاعف؟

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

موصى به: