جدول المحتويات:
فيديو: كيف تحذف قائمة دائرية مرتبطة؟
2024 مؤلف: Lynn Donovan | [email protected]. آخر تعديل: 2023-12-15 23:43
الحذف من قائمة دائرية مرتبطة
- إذا كان قائمة ليس فارغًا ، فنحن نحدد تيارين مؤشرين و prev ونبدأ في تهيئة تيار المؤشر مع عقدة الرأس.
- اجتياز قائمة باستخدام تيار للعثور على العقدة المراد حذفها وقبل نقل التيار إلى العقدة التالية ، كل مرة يتم ضبطها prev = cur.
- إذا تم العثور على العقدة ، فتحقق مما إذا كانت العقدة الوحيدة في ملف قائمة .
بهذه الطريقة ، كيف تحذف عقدة أخيرة في قائمة مرتبطة دائرية؟
حذف العقدة الأخيرة من قائمة Linekd الدائرية
- خذ مؤشرين حاليين وسابقين واجتازوا القائمة.
- حرك كلا المؤشرين بحيث يشير التالي من السابق دائمًا إلى التيار.
- بمجرد وصول المؤشر الحالي إلى العقدة الأخيرة ، قم بما يلي:
أيضًا ، كيف تحذف عنصرًا من قائمة مرتبطة؟ هناك بضع خطوات لحذف عنصر معين من القائمة:
- ابحث عن العقدة التي تحتوي على العنصر (إن وجدت).
- قم بإزالة تلك العقدة.
- أعد توصيل القائمة المرتبطة.
- قم بتحديث الرابط إلى البداية (إذا لزم الأمر).
في المقابل ، كيف يمكنك عكس قائمة دائرية مرتبطة؟
يوجد أدناه منطق خطوة بخطوة لعكس قائمة دائرية مرتبطة
- قم بتهيئة ثلاثة متغيرات للمؤشر ، Last = head ، cur = head-> next and prev = head.
- حرك عقدة الرأس للأمام ، أي head = head-> next ؛
- ربط العقدة الحالية بالعقدة السابقة ، مثل cur-> next = prev ؛
- اجعل العقدة السابقة بمثابة العقدة الحالية أي prev = cur ؛
ما هي القائمة الدائرية المرتبطة بشكل مضاعف؟
قائمة دائرية مرتبطة بشكل مضاعف هو نوع أكثر تعقيدًا من بنية البيانات حيث تحتوي العقدة على مؤشرات إلى العقدة السابقة وكذلك العقدة التالية. العقدة الأولى من قائمة تحتوي أيضًا على عنوان العقدة الأخيرة في مؤشرها السابق. أ قائمة دائرية مرتبطة بشكل مضاعف يظهر في الشكل التالي.
موصى به:
كيف يمكنني فرز قائمة مرتبطة أبجديًا؟
يعد فرز سلسلة LinkedList في Java أمرًا سهلاً. يمكنك فرز السلسلة LinkedList بترتيب أبجدي تصاعدي باستخدام الفرز (قائمة القائمة). يمكنك أيضًا فرز السلسلة LinkedList بترتيب أبجدي تنازلي باستخدام الفرز (قائمة القائمة ، المقارنة ج)
كيف يمكنك إنشاء تصنيف فقاعي في قائمة مرتبطة في C ++؟
لإجراء فرز الفقاعة ، نتبع الخطوات التالية: الخطوة 1: تحقق مما إذا كانت البيانات الموجودة على العقدتين المتجاورتين بترتيب تصاعدي أم لا. إذا لم يكن الأمر كذلك ، فقم بتبديل بيانات العقدتين المتجاورتين. الخطوة 2: في نهاية التمرير 1 ، سيكون أكبر عنصر في نهاية القائمة. الخطوة 3: ننهي الحلقة ، عندما تبدأ جميع العناصر
كيف يمكنني فرز قائمة مرتبطة منفردة؟
يوجد أدناه خوارزمية بسيطة لفرز الإدراج لقائمة مرتبطة. 1) إنشاء قائمة فارغة مرتبة (أو نتيجة) 2) اجتياز القائمة المحددة ، اتبع كل عقدة. أ) أدخل العقدة الحالية بطريقة مرتبة في قائمة النتائج أو الفرز. 3) تغيير رأس قائمة مرتبطة معينة إلى رأس قائمة مرتبة (أو نتيجة)
كيف تضيف عقدة إلى قائمة مرتبطة؟
قم بإدراج عقدة في موضع محدد في قائمة مرتبطة اجتياز القائمة المرتبطة حتى عقد الموضع 1. بمجرد اجتياز جميع عقد الموضع 1 ، قم بتخصيص الذاكرة والبيانات المعطاة للعقدة الجديدة. ضع المؤشر التالي للعقدة الجديدة على العقدة التالية. قم بتوجيه المؤشر التالي للعقدة الحالية إلى العقدة الجديدة
هل يمكنك البحث الثنائي في قائمة مرتبطة؟
نعم ، يمكن البحث الثنائي في القائمة المرتبطة إذا تم ترتيب القائمة وكنت تعرف عدد العناصر الموجودة في القائمة. ولكن أثناء فرز القائمة ، يمكنك الوصول إلى عنصر واحد في كل مرة من خلال مؤشر إلى تلك العقدة ، أي إما عقدة سابقة أو عقدة تالية