الخوارزمية - قوائم دائرية ومرتبطة بشكل مضاعف
ما هي القائمة الدائرية؟
في العقدة الأخيرة في القائمة ، يحتوي حقل الارتباط على قيمة فارغة ، وهي قيمة تشير إلى النهاية. تتكون القائمة الدائرية من الإشارة إلى العقدة الأولى في القائمة. يقال أنه مفتوح أو خطي ناجح (ذيل) = رأس.
< فرع />تعريف القائمة الدائرية بمؤشر
< فرع /> < محاذاة الجدول = "center" cellpadding = "0" cellpacing = "0" class = "tr-caption-container" style = "الهامش الأيسر: تلقائي ؛ الهامش الأيمن: تلقائي ؛ محاذاة النص: مركز ؛ ">

var pp: ptr
start
pp: = p
كرر عملية
(* pp.val)
pp: = * pp.link
إلى (pp = p)
end
2) الإدراج
إدراج في الرأس
< محاذاة الجدول = "center" cellpadding = "0" cellpacing = "0" class = "tr-caption-container" style = "الهامش الأيسر: تلقائي ؛ الهامش الأيمن: تلقائي ؛ محاذاة النص: مركز ؛ ">
التكامل خارج الصدارة
< محاذاة الجدول = "center" cellpadding = "0" cellpacing = "0" class = "tr-caption-container" style = "الهامش الأيسر: تلقائي ؛ الهامش الأيمن: تلقائي ؛ محاذاة النص: مركز ؛ ">
انظر:
إدراج عنصر في قائمة مرتبطة.
3) الحذف
< محاذاة الجدول = "center" cellpadding = "0" cellpacing = "0" class = "tr-caption-container" style = "الهامش الأيسر: تلقائي ؛ الهامش الأيمن: تلقائي ؛ محاذاة النص: مركز ؛ ">
راجع: حذف عنصر من قائمة مرتبطة.
إيجابيات وسلبيات
- الدورة ليس لها حالة خاصة.
- ثلاث حالات للإدراج:
- في أعلى الصفحة (قائمة فارغة).
- في الجزء العلوي (قائمة غير فارغة).
- في مكان آخر غير الصدارة .
- ثلاث حالات للحذف ؛
- في الجزء العلوي (قائمة العناصر الواحدة).
- في أعلى الصفحة (قائمة تحتوي على أكثر من عنصر واحد).
- في مكان آخر غير الصدارة
تعريف القائمة الدائرية برابط
< فرع /> < فرع /> < فرع />- يتم إنشاء المسار من الرابط الحالي الذي يحرسه.
- التكامل ليس له حالة خاصة.
- يجب أن نتأكد من أن الرابط المراد إزالته ليس هو الحارس.