إنشاء Vector
جزء من قسم Logic & Flow في رحلة C++ على Coddy — الدرس 10 من 56.
الآن بعد أن فهمت ما هي المتجهات (vectors)، دعنا نتعلم كيفية إنشائها فعلياً. هناك عدة طرق للتصريح عن std::vector وتهيئته، وذلك حسب احتياجاتك.
النهج الأكثر بساطة هو إنشاء vector فارغ يمكنك ملؤه لاحقاً:
std::vector<int> numbers;يؤدي هذا إلى إنشاء متجه (vector) فارغ يسمى numbers يمكنه تخزين أعداد صحيحة. لاحظ الأقواس الزاوية <int> — يخبر هذا المتجه بنوع البيانات التي سيقوم بتخزينها. على سبيل المثال، <int> يعني أن المتجه يحتوي على أعداد صحيحة، و <double> يعني أنه يحتوي على أعداد عشرية، و <string> يعني أنه يحتوي على نصوص.
يمكنك أيضاً تهيئة vector بالقيم مباشرة من البداية باستخدام قائمة تهيئة (initializer list):
std::vector<int> scores = {85, 92, 78, 96, 88};يؤدي هذا إلى إنشاء vector يحتوي بالفعل على خمسة أعداد صحيحة. تحتوي الأقواس المتعرجة على القيم الأولية، مفصولة بفاصلات.
ملاحظة: يمكن للمتجهات (Vectors) تخزين أنواع بيانات مختلفة — ما عليك سوى تغيير ما بداخل الأقواس الزاوية. على سبيل المثال، std::vector<string> للنصوص أو std::vector<double> للأرقام العشرية. إن مرونة المتجهات تجعلها مثالية لتخزين مجموعات من البيانات عندما تحتاج إلى ميزة تغيير الحجم التلقائي.
التحدي
سهلقم بإنشاء برنامج يوضح تهيئة المتجه (vector) عن طريق إنشاء متجه من الأعداد الصحيحة بقيم محددة مسبقاً وعرض محتوياته.
سيتم توفير المدخلات التالية:
- خمسة أعداد صحيحة يجب استخدامها لتهيئة المتجه
يجب على برنامجك القيام بما يلي:
- إنشاء
std::vector<int>باسمnumbersوتهيئته بقيم المدخلات الخمسة باستخدام قائمة تهيئة (initializer list) - طباعة كل عنصر من عناصر المتجه في سطر منفصل بالتنسيق الدقيق الموضح أدناه
- بعد طباعة جميع العناصر، قم بطباعة العدد الإجمالي للعناصر في المتجه
استخدم تنسيق المخرجات الدقيق التالي:
Element 0: [first value]
Element 1: [second value]
Element 2: [third value]
Element 3: [fourth value]
Element 4: [fifth value]
Vector size: 5قم بالوصول إلى عناصر المتجه باستخدام عامل الأقواس المربعة [] مع الفهارس من 0 إلى 4 لطباعة كل قيمة. استخدم التابع .size() للحصول على عدد العناصر في المتجه.
جرّب بنفسك
#include <iostream>
#include <vector>
using namespace std;
int main() {
// قراءة قيم المدخلات
int val1, val2, val3, val4, val5;
cin >> val1 >> val2 >> val3 >> val4 >> val5;
// TODO: اكتب كودك أدناه
// قم بإنشاء متجه (vector) باسم 'numbers' وقم بتهيئته بقيم المدخلات
// اطبع كل عنصر باستخدام التنسيق المطلوب
// اطبع حجم المتجه
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المؤشرات والذاكرة
ما هو المؤشر؟معامل العنوان (Address-Of)معامل الوصول للقيمة (Dereference)المؤشرات الفارغة (Null Pointers)المؤشرات والمصفوفاتالذاكرة الديناميكية باستخدام 'new'تحرير الذاكرة باستخدام 'delete'مراجعة - تمارين على المؤشرات2المتجهات (المصفوفات الديناميكية)
مقدمة إلى std::vectorإنشاء Vectorإضافة العناصرالوصول إلى العناصرحجم الـ Vectorالتكرار باستخدام For Loopالـ Range-Based For Loopإزالة العناصرملخص - عمليات الـ Vector