إنشاء Vector
جزء من قسم Logic & Flow في رحلة C++ على Coddy — الدرس 10 من 56.
الآن بعد أن فهمت ما هي المتجهات (vectors)، دعنا نتعلم كيفية إنشائها فعلياً. هناك عدة طرق للتصريح عن std::vector وتهيئته، وذلك حسب احتياجاتك.
النهج الأكثر أساسية هو إنشاء متجه (vector) فارغ يمكنك ملؤه لاحقاً:
std::vector<int> numbers;يُنشئ هذا متجهًا فارغًا يسمى numbers يمكنه تخزين أعداد صحيحة. لاحظ الأقواس الزاوية <int> — يخبر هذا المتجه بنوع البيانات التي سيقوم بتخزينها.
يمكنك أيضاً تهيئة 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() للحصول على عدد العناصر في المتجه.
ورقة مرجعية
لإنشاء std::vector، حدد نوع البيانات بين أقواس زاوية:
std::vector<int> numbers; // متجه فارغقم بتهيئة المتجه بالقيم باستخدام قائمة تهيئة:
std::vector<int> scores = {85, 92, 78, 96, 88};قم بالوصول إلى عناصر المتجه باستخدام الأقواس المربعة مع الفهارس:
scores[0] // العنصر الأول
scores[1] // العنصر الثانياحصل على عدد العناصر باستخدام .size():
scores.size() // يعيد عدد العناصريمكن للمتجهات أن تحتوي على أنواع بيانات مختلفة عن طريق تغيير النوع داخل الأقواس الزاوية:
std::vector<string>للنصوصstd::vector<double>للأرقام العشرية
جرّب بنفسك
#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