- القائمة عبارة عن حاوية متجاورة بينما المتجه عبارة عن حاوية غير متجاورة، أي أن القائمة تخزن العناصر في ذاكرة متجاورة وتخزن المتجهات في ذاكرة غير متجاورة.
- يعد الإدراج والحذف في منتصف المتجه مكلفًا للغاية حيث يستغرق الكثير من الوقت في نقل جميع العناصر. تغلبت Linklist على هذه المشكلة وتم تنفيذها باستخدام حاوية القائمة.
- تدعم القائمة ثنائية الاتجاه وتوفر طريقة فعالة لعمليات الإدراج والحذف.
- يكون الاجتياز بطيئًا في القائمة حيث يتم الوصول إلى عناصر القائمة بشكل تسلسلي بينما يدعم المتجه الوصول العشوائي.
نموذج للقائمة
#include #include using namespace std; int main() { list l; }
يقوم بإنشاء قائمة فارغة من قيم نوع الأعداد الصحيحة.
يمكن أيضًا تهيئة القائمة باستخدام المعلمات.
#include #include using namespace std; int main() { list l{1,2,3,4}; }
يمكن تهيئة القائمة بطريقتين.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4};
وظائف قائمة C++
فيما يلي وظائف الأعضاء في القائمة:
طريقة | وصف |
---|---|
إدراج() | يقوم بإدراج العنصر الجديد قبل الموضع الذي أشار إليه المكرر. |
إدفع إلى الخلف() | ويضيف عنصرا جديدا في نهاية المتجه. |
Push_front() | ويضيف عنصرا جديدا إلى الأمام. |
عودة البوب() | يقوم بحذف العنصر الأخير. |
pop_front() | فهو يحذف العنصر الأول. |
فارغ() | يتحقق مما إذا كانت القائمة فارغة أم لا. |
مقاس() | يجد عدد العناصر الموجودة في القائمة. |
اقصى حجم() | يجد الحد الأقصى لحجم القائمة. |
أمام() | تقوم بإرجاع العنصر الأول من القائمة. |
خلف() | تقوم بإرجاع العنصر الأخير من القائمة. |
تبديل() | يقوم بتبديل قائمتين عندما يكون نوع القائمتين متماثلين. |
يعكس() | إنه يعكس عناصر القائمة. |
نوع() | يقوم بفرز عناصر القائمة بترتيب متزايد. |
دمج() | فهو يدمج القائمة التي تم فرزها. |
لصق او جمع() | يقوم بإدراج قائمة جديدة في قائمة الاستدعاء. |
فريد() | يقوم بإزالة جميع العناصر المكررة من القائمة. |
تغيير الحجم() | يغير حجم حاوية القائمة. |
تعيين() | يقوم بتعيين عنصر جديد لحاوية القائمة. |
موقع() | يقوم بإدراج عنصر جديد في موضع محدد. |
emplace_back() | يقوم بإدراج عنصر جديد في نهاية المتجه. |
emplace_front() | يقوم بإدراج عنصر جديد في بداية القائمة. |