قائمة متصلة

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

في علم الحاسوب القائمة المتصلة (بالإنجليزية: linked list)‏ هي بنية بيانات تتضمن من مجموعة من السجلات المرتبة والمرتبطة مع بعضها البعض، كل سجل يحتوي على حقلين الأول يحتوي على القيم أما الثاني يحتوي على مؤشر عنوان السجل التالي أو السابق أو عنوان ملغي (بالإنجليزية: NULL)‏.

Singly-linked-list.svg

ملاحظة لا يشترط أن تكون العقد مرتبة بشكل متتالي في الذاكرة لأن نظام التشغيل هو من يقوم بحجز مكان العقدة في الذاكرة.[1][2][3]

المبادئ الأساسية[عدل]

كل سجل في القائمة المتصلة يسمى بالعنصر أو العقدة .

يوجد في العقدة الواحدة حقل يحتوي على عنوان العقدة التالية يسمى بـالمؤشر التالي أو السابقة يسمى بالمؤشر السابق. و حقل أخر في العقدة يسمى بحقل البيانات أو المعلومات .

و الرأس هو أول عقدة في القائمة المتصلة والذيل هو أخر عقدة .

القائمة المتصلة الخطية والدائرية[عدل]

في العادة يكون في آخر عقدة عنوان العقدة التالية يؤشر على عنوان ملغي (بالإنجليزية: Null )‏، و هي قيمة وضعت من قبل المبرمجين معناها " لا يوجد مثل هذه العقدة" و تسمى قائمة متصلة خطية كما في الصورة الأولى، وفي بعض الأحيان قد تؤشر العقدة الأخيرة على العقدة الأولى، وتسمى في هذه الحالة قائمة متصلة دائرية كما في الصورة الثانية.

Circularly-linked-list.svg

القائمة المتصلة البسيطة والمضاعفة[عدل]

في القائمة المتصلة المضاعفة كل عقدة تحتوي على حقل عنوان العقدة السابقة يسمى بـالمؤشر السابق مع حقل عنوان العقدة التالية المؤشر التالي و حقل البيانات والمعلومات . تسمى القائمة المتصلة التي لا تحتوي على خاصية - التالي، السابق - بالقائمة المتصلة البسيطة .

Doubly-linked-list.svg

مراجع[عدل]

  1. ^ "Archived copy". مؤرشف من الأصل في 23 سبتمبر 2015. اطلع عليه بتاريخ 31 يوليو 2015. الوسيط |CitationClass= تم تجاهله (مساعدة)صيانة CS1: الأرشيف كعنوان (link)
  2. ^ Okasaki, Chris (1995). Purely Functional Random-Access Lists. In Functional Programming Languages and Computer Architecture. ACM Press. صفحات 86–95. مؤرشف من الأصل (PS) في 23 سبتمبر 2016. اطلع عليه بتاريخ May 7, 2015. الوسيط |CitationClass= تم تجاهله (مساعدة)
  3. ^ Data Structures (باللغة الإنجليزية). PediaPress. مؤرشف من الأصل في 12 ديسمبر 2019. الوسيط |CitationClass= تم تجاهله (مساعدة)
Computer.svg
هذه بذرة مقالة عن الحاسوب أو العاملين في هذا المجال، بحاجة للتوسيع. شارك في تحريرها.