الرئيسيةعريقبحث

قائمة متصلة


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


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

Singly-linked-list.svg

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

المبادئ الأساسية

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

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

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

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

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

Circularly-linked-list.svg

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

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

Doubly-linked-list.svg

مراجع

  1. "Archived copy". مؤرشف من الأصل في 23 سبتمبر 201531 يوليو 2015.
  2. Okasaki, Chris (1995). Purely Functional Random-Access Lists. In Functional Programming Languages and Computer Architecture. ACM Press. صفحات 86–95. مؤرشف من الأصل في 23 سبتمبر 2016May 7, 2015.
  3. Data Structures (باللغة الإنجليزية). PediaPress. مؤرشف من الأصل في 12 ديسمبر 2019.

موسوعات ذات صلة :