في علم الحاسوب القائمة المتصلة (linked list) هي بنية بيانات تتضمن من مجموعة من السجلات المرتبة والمرتبطة مع بعضها البعض، كل سجل يحتوي على حقلين الأول يحتوي على القيم أما الثاني يحتوي على مؤشر عنوان السجل التالي أو السابق أو عنوان ملغي (NULL).
ملاحظة لا يشترط أن تكون العقد مرتبة بشكل متتالي في الذاكرة لأن نظام التشغيل هو من يقوم بحجز مكان العقدة في الذاكرة.[1][2][3]
المبادئ الأساسية
كل سجل في القائمة المتصلة يسمى بالعنصر أو العقدة .
يوجد في العقدة الواحدة حقل يحتوي على عنوان العقدة التالية يسمى بـالمؤشر التالي أو السابقة يسمى بالمؤشر السابق. و حقل أخر في العقدة يسمى بحقل البيانات أو المعلومات .
و الرأس هو أول عقدة في القائمة المتصلة والذيل هو أخر عقدة .
القائمة المتصلة الخطية والدائرية
في العادة يكون في آخر عقدة عنوان العقدة التالية يؤشر على عنوان ملغي ( Null )، و هي قيمة وضعت من قبل المبرمجين معناها " لا يوجد مثل هذه العقدة" و تسمى قائمة متصلة خطية كما في الصورة الأولى، وفي بعض الأحيان قد تؤشر العقدة الأخيرة على العقدة الأولى، وتسمى في هذه الحالة قائمة متصلة دائرية كما في الصورة الثانية.
القائمة المتصلة البسيطة والمضاعفة
في القائمة المتصلة المضاعفة كل عقدة تحتوي على حقل عنوان العقدة السابقة يسمى بـالمؤشر السابق مع حقل عنوان العقدة التالية المؤشر التالي و حقل البيانات والمعلومات . تسمى القائمة المتصلة التي لا تحتوي على خاصية - التالي، السابق - بالقائمة المتصلة البسيطة .
مراجع
- "Archived copy". مؤرشف من الأصل في 23 سبتمبر 201531 يوليو 2015.
- Okasaki, Chris (1995). Purely Functional Random-Access Lists. In Functional Programming Languages and Computer Architecture. ACM Press. صفحات 86–95. مؤرشف من الأصل في 23 سبتمبر 2016May 7, 2015.
- Data Structures (باللغة الإنجليزية). PediaPress. مؤرشف من الأصل في 12 ديسمبر 2019.