STL في لغة ++ c: كل ما تحتاج إلى معرفته



ستزودك هذه المقالة بمعرفة مفصلة وشاملة عن STL في C ++ وستعطيك فكرة عن الحاويات المختلفة أيضًا.

مكتبة القوالب القياسية (STL) عبارة عن مجموعة من فئات قوالب C ++ لتوفير هياكل ووظائف بيانات البرمجة الشائعة مثل القوائم والمكدسات والمصفوفات وما إلى ذلك. في مقالة STL هذه في C ++ ، سنناقش المؤشرات التالية:

الانتقال إلى هذه المقالة على STL في C ++





قوالب C ++

يوفر C ++ لنا ميزة القوالب التي تسمح للوظائف والفئات بالعمل مع الأنواع العامة. يتيح ذلك إمكانية إعادة استخدام دالة أو فئة ما ويسمح لها بالعمل على العديد من أنواع البيانات المختلفة دون إعادة كتابتها لكل منها.

الانتقال إلى هذه المقالة على STL في C ++



وظائف عامة و STL

أثناء البرمجة عدة مرات ، هناك حاجة لإنشاء وظائف تؤدي نفس العمليات ولكنها تعمل مع أنواع بيانات مختلفة. لذلك للتغلب على هذه المشكلة ، يوفر C ++ ميزة لإنشاء وظيفة عامة واحدة بدلاً من العديد من الوظائف التي يمكن أن تعمل مع نوع بيانات مختلف باستخدام معلمة القالب. تسمى مجموعة هذه الفئات والوظائف الجينية مكتبة النماذج القياسية (STL)

يتم تعريف مكونات STL التي هي الآن جزء من مكتبة C ++ القياسية في مساحة الاسم std. لذلك ، يجب علينا استخدام التوجيه باستخدام مساحة الاسم لاستيرادها إلى برنامجنا.

بناء الجملة:



استخدام اسم للمحطة

تتكون المحكمة الخاصة بلبنان من ثلاثة مكونات

  • حاويات

  • الخوارزميات

  • التكرارات

تعمل هذه المكونات الثلاثة مع بعضها البعض في تآزر لتقديم الدعم لمجموعة متنوعة من حلول البرمجة. تستخدم الخوارزمية مكررات لأداء العملية المخزنة في الحاويات.

الحاوية هي كائن يخزن البيانات في الذاكرة بطريقة منظمة. يتم تنفيذ الحاويات في STL بواسطة فئات القوالب ، وبالتالي يمكن تعديلها بسهولة وتخصيصها لاحتواء أنواع مختلفة من البيانات.

يتم تعريف الإجراء الذي يتم استخدامه لمعالجة البيانات الموجودة في الحاويات على أنه خوارزمية. تتضمن المحكمة الخاصة بلبنان أنواعًا مختلفة من الخوارزميات لتقديم الدعم لمهام مثل التهيئة والبحث والنسخ والفرز والدمج والنسخ والفرز والدمج. يتم تنفيذ الخوارزميات من خلال وظائف القالب.

يمكن تعريف المكرر على أنه كائن يشير إلى عنصر في حاوية. يمكن استخدام التكرارات للتنقل عبر محتويات الحاويات. يتم التعامل مع التكرارات تمامًا مثل المؤشرات. يمكننا زيادتها أو إنقاصها. يربط المتكررون الخوارزمية بالحاويات ويلعبون دورًا رئيسيًا في معالجة البيانات المخزنة في الحاويات.

Container-STL-in-C++

الانتقال إلى هذه المقالة على STL في C ++

حاويات

تحدد STL عشر حاويات تم تجميعها في ثلاث فئات.

حاويات

وصف

الملف الاساسي

التكرار

المتجه

يمكن تعريفه على أنه مجموعة ديناميكية. يسمح بالوصول المباشر إلى أي عنصر.

دخول عشوائي

قائمة

إنها قائمة خطية ثنائية الاتجاه. يسمح بالإدراج والحذف في أي مكان

استخدام فئة الماسح الضوئي في جافا

ثنائي الاتجاه

و

إنها قائمة انتظار ذات نهايتين. يسمح بعمليات الإدراج والحذف في كلا الطرفين. يسمح بالوصول المباشر إلى أي عنصر.

دخول عشوائي

جلس

إنها حاوية مرتبطة لتخزين مجموعات فريدة. يسمح بالبحث السريع.

ثنائي الاتجاه

مولتيست

إنها حاوية مرتبطة لتخزين المجموعات غير الفريدة.

ثنائي الاتجاه

خريطة

إنها حاوية مرتبطة لتخزين أزواج المفاتيح / القيمة الفريدة. يرتبط كل مفتاح بقيمة واحدة فقط.

ثنائي الاتجاه

متعدد الخرائط

وهي عبارة عن حاوية مرتبطة لتخزين المفتاح / القيمة التي قد يرتبط فيها مفتاح واحد بأكثر من قيمة واحدة (تعيين واحد لكثير). يسمح بالبحث على أساس مفتاح.

ثنائي الاتجاه

كومة

حزمة قياسية تتبع ما يرد أخيرًا يصرف أولاً (LIFO)

لا مكرر

طابور

قائمة الانتظار القياسية تتبع الوارد أولاً يصرف أولاً (FIFO)

لا مكرر

طابور الأولوية

العنصر الأول هو دائمًا العنصر ذو الأولوية القصوى

لا مكرر

حاويات التسلسل

تقوم حاويات التسلسل بتخزين العناصر بترتيب خطي. ترتبط جميع العناصر ببعضها البعض من خلال موقعها على طول الخط. إنها تسمح بإدخال العنصر وكلها تدعم عدة عمليات عليها.

توفر المحكمة الخاصة بلبنان ثلاثة أنواع من عناصر التسلسل:

  • المتجه
  • قائمة
  • و

الحاويات النقابية:

لقد تم تصميمها بطريقة تمكنها من دعم الوصول المباشر إلى العناصر باستخدام المفاتيح. فهي ليست متسلسلة. هناك أربعة أنواع من

الحاويات الترابطية:

  1. جلس
  2. مولتيست
  3. خريطة
  4. Multimap

جميع الحاويات المذكورة أعلاه تخزن البيانات في بنية تسمى الشجرة والتي تسهل السرعة

البحث والحذف والإدراج بخلاف التسلسلي. يمكن لمجموعة الحاوية أو multiset تخزين عناصر مختلفة وتوفير عمليات لمعالجتها باستخدام القيم كمفاتيح.

ويتم استخدام الخريطة أو Multimap لتخزين العناصر في أزواج ، أحدهما يسمى المفتاح والآخر

تسمى القيمة.

الحاويات المشتقة:

توفر STL ثلاث حاويات مشتقة وهي المكدس وقائمة الانتظار و priority_queue. تُعرف هذه أيضًا باسم محولات الحاويات.

هناك ثلاثة أنواع من الحاويات المشتقة:

1. كومة

2-طابور

3. الأولوية_quue

يمكن بسهولة إنشاء المكدسات وقائمة الانتظار وقائمة الانتظار ذات الأولوية من حاويات تسلسل مختلفة. الحاويات المشتقة لا تدعم التكرارات وبالتالي لا يمكننا استخدامها لمعالجة البيانات. ومع ذلك ، فهي تدعم وظيفة عضوين pop () و push () لتنفيذ عمليات الحذف والإدخال.

الانتقال إلى هذه المقالة على STL في C ++

الخوارزميات

الخوارزميات هي وظائف يمكن استخدامها بشكل عام عبر مجموعة متنوعة من الحاويات لمعالجة محتواها. على الرغم من أن كل حاوية توفر وظائف لعملياتها الأساسية ، إلا أن STL توفر أكثر من ستين خوارزمية قياسية لدعم عمليات موسعة أو معقدة. تسمح لنا الخوارزميات القياسية أيضًا بالعمل مع نوعين مختلفين من الحاويات في نفس الوقت.

تعزز خوارزميات STL فلسفة إعادة الاستخدام. باستخدام هذه الخوارزميات ، يمكن للمبرمجين توفير الكثير من الوقت والجهد. للوصول إلى خوارزميات STL ، يجب علينا تضمينها في برنامجنا.

يمكن تصنيف خوارزمية STL ، بناءً على طبيعة العمليات التي يقومون بها ، على النحو التالي:

  • الخوارزميات غير المطفرة

  • الخوارزميات المتحولة

  • خوارزميات الفرز

  • ضع الخوارزميات

  • الخوارزمية العلائقية

الانتقال إلى هذه المقالة على STL في C ++

التكرارات:

تعمل التكرارات مثل المؤشرات وتستخدم للوصول إلى عناصر الحاوية. نستخدم التكرارات للتنقل عبر محتويات الحاويات. يتم التعامل مع التكرارات تمامًا مثل المؤشرات. يمكننا زيادتها أو إنقاصها حسب متطلباتنا. تقوم أجهزة التكرار بتوصيل الحاويات بالخوارزميات وتلعب دورًا حيويًا في معالجة البيانات المخزنة في الحاويات. غالبًا ما تستخدم للمرور من عنصر إلى آخر ، وتسمى هذه العملية التكرار عبر الحاوية.

هناك خمسة أنواع من التكرارات:

1. المدخلات

2. الإخراج

3. إلى الأمام

4. ثنائي الاتجاه

برمجة المقبس في مثال جافا

5. عشوائي

التكرار

طريقة الوصول

اتجاه الحركة

قدرة الإدخال / الإخراج

ملاحظة

إدخال

خطي

إلى الأمام فقط

يقرأ فقط

لا يمكن حفظها

انتاج |

خطي

إلى الأمام فقط

اكتب فقط

لا يمكن حفظها

إلى الأمام

خطي

إلى الأمام فقط

قراءة و كتابة

يمكن حفظها

ثنائي الاتجاه

خطي

إلى الأمام والخلف

قراءة و كتابة

يمكن حفظها

عشوائي

عشوائي

إلى الأمام والخلف

قراءة و كتابة

يمكن حفظها

يجب استخدام أنواع مختلفة من التكرارات مع أنواع مختلفة من الحاويات مثل تلك فقط

يُسمح للحاويات التسلسلية والارتباط بالسفر عبر التكرارات. يتم استخدام كل نوع من التكرارات لأداء وظائف معينة. تدعم مكررات الإدخال والإخراج أقل الوظائف. يمكن استخدامها فقط للمرور في حاوية. تدعم أجهزة التكرار إلى الأمام جميع عمليات تكرار الإدخال والإخراج وتحتفظ أيضًا بموقعها في الحاوية. يوفر المكرر ثنائي الاتجاه ، مع دعم جميع عمليات التكرار الأمامية ، القدرة على التحرك في الاتجاه الخلفي في الحاوية.

وهكذا وصلنا إلى نهاية هذه المقالة حول 'STL في C ++'. إذا كنت ترغب في معرفة المزيد ، تحقق من بواسطة Edureka ، شركة تعليمية موثوقة عبر الإنترنت. تم تصميم دورة تدريب وإصدار شهادات Java J2EE و SOA من Edureka لتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

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