logo

قائمة سي++

  • القائمة عبارة عن حاوية متجاورة بينما المتجه عبارة عن حاوية غير متجاورة، أي أن القائمة تخزن العناصر في ذاكرة متجاورة وتخزن المتجهات في ذاكرة غير متجاورة.
  • يعد الإدراج والحذف في منتصف المتجه مكلفًا للغاية حيث يستغرق الكثير من الوقت في نقل جميع العناصر. تغلبت 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() يقوم بإدراج عنصر جديد في بداية القائمة.