قائمة (نوع بيانات مجرد)
القائمة list أو التسلسل sequence في علوم الحاسوب، هو نوع البيانات مجردة الذي يمثل عدد معدود من القيم المرتبة، حيث يمكن وجود نفس القيمة أكثر من مرة. مثال على القائمة هو تمثيل الحالسوب للمفهوم الرياضي للتعديدات أو التسلسل المنتهي أو المحدود؛ النظير اللامتناهي (المحتمل) لقائمة هو التدفق (الجريان )الحاسوبي.[1] :§3.5 القوائم هي مثال أساسي للحاويات البيانية، لأنها تحتوي على قيم أخرى. إذا حدثت نفس القيمة عدة مرات، يعتبر كل تكرار عنصرًا مميزًا.
تُستخدم قائمة الأسماء أيضًا في العديد من هياكل البيانات الحقيقية التي يمكن استخدامها لتنفيذ القوائم المجردة، وخاصة القوائم والمصفوفات الترابطية. في بعض السياقات، مثل برمجة ليسب، قد يشير المصطلح «قائمة» على وجه التحديد إلى قائمة مرتبطة بدلاً من مصفوفة. في البرمجة المبنية على الأصناف، تمثل القوائم عادةً كمثيل من الأصناف الفرعية من صنف «قائمة» "list" العامة، ويتم المرور والانتقال داخل هيكل البيانات ذاك بشكل منفصل بواسطة المكررات.
توفر العديد من لغات البرمجة دعمًا لأنواع بيانات القائمة، ولها بناء نحوي ودلالات خاصة للقوائم وعمليات القوائم. غالبًا ما يمكن إنشاء قائمة بكتابة العناصر بالتسلسل، مفصولة بفواصل، و/أو فواصل منقوطة، و/أو مسافات، ضمن زوج من المحددات مثل الأقواس "()"، الأقواس المربعة "[]"، الأقواس المعقوفة "{}"، أو أقواس الزاوية "<>". قد تسمح بعض اللغات بفهرسة أنواع القوائم أو تشريحها مثل أنواع المصفوفات، وفي هذه الحالة يتم وصف نوع البيانات بشكل أدق على أنه مصفوفة.
في نظرية النوع والبرمجة الوظيفية، عادة ما يتم تعريف القوائم المجردة بشكل استقرائي من خلال عمليتين:nil ينتج قائمة فارغة، و cons ، والتي تضيف عنصرًا في بداية القائمة.[2]
المراجع
- Abelson, Harold؛ Sussman, Gerald Jay (1996)، Structure and Interpretation of Computer Programs، MIT Press.
- Reingold, Edward؛ Nievergelt, Jurg؛ Narsingh, Deo (1977)، Combinatorial Algorithms: Theory and Practice، Englewood Cliffs, New Jersey: Prentice Hall، ص. 38–41، ISBN 0-13-152447-X.
- بوابة برمجة الحاسوب