וקטורים ב-C++ הם מיכל מבוסס מערך דינמי המשמש לאחסון אוסף של אלמנטים מאותו סוג. שלא כמו מערכים, וקטורים יכולים לגדול או להתכווץ בגודלם באופן דינמי, מה שהופך אותו למבנה נתונים נוח ויעיל לאחסון ולתפעול נתונים.
וקטור מוגדר על ידי הכללת הכותרת והכרזה על אובייקט וקטור. סוג הווקטור מצוין בסוגריים של זווית, ואחריו שם המשתנה. לדוגמה:
#include std::vector myVector;
לאחר הגדרת וקטור, ניתן להוסיף לו אלמנטים באמצעות שיטת push_back() . שיטה זו מוסיפה אלמנט חדש לסוף הווקטור. לדוגמה:
myVector.push_back(1); myVector.push_back(2); myVector.push_back(3);
וקטורים מספקים גם גישה לאלמנטים בודדים באמצעות האופרטור []. האינדקס של האלמנט הראשון בוקטור הוא 0, והאינדקס של האלמנט האחרון הוא size()-1. לדוגמה:
std::cout << myVector[0] << std::endl; std::cout << myVector[1] << std::endl; std::cout << myVector[2] << std::endl;
בנוסף להוספת אלמנטים, וקטורים מספקים גם שיטות להכנסה, הסרה ושינוי של אלמנטים. ניתן להשתמש בשיטת insert() כדי להכניס אלמנט באינדקס ספציפי בווקטור. ניתן להשתמש בשיטת erase() כדי להסיר אלמנט מאינדקס ספציפי בוקטור. ניתן להשתמש בשיטת clear() כדי להסיר את כל האלמנטים מווקטור.
וקטורים גם מספקים מספר שיטות שימושיות לאיטרציה דרך האלמנטים בווקטור. המתודה begin() מחזירה איטרטור המצביע על האלמנט הראשון בווקטור, ומתודה end() מחזירה איטרטור המצביע על האלמנט האחרון בווקטור. ניתן להשתמש באיטרטור כדי לגשת לאלמנטים בווקטור אחד אחד, כפי שמוצג בדוגמה הבאה:
std::vector::iterator it; for (it = myVector.begin(); it != myVector.end(); it++) { std::cout << *it << std::endl; }
וקטורים מספקים גם את שיטת size(), המחזירה את מספר האלמנטים בווקטור. זה יכול לשמש כדי לבדוק אם וקטור ריק, כפי שמוצג בדוגמה הבאה:
if (myVector.empty()) { std::cout << 'The vector is empty.' << std::endl; } else { std::cout << 'The vector is not empty.' << std::endl; }
לסיכום, וקטורים הם מבנה נתונים רב עוצמה ויעיל ב-C++ המספק מיכל דינמי מבוסס מערך לאחסון ומניפולציה של אוספי אלמנטים. וקטורים מספקים שיטות להוספה, הסרה ושינוי של אלמנטים, כמו גם לחזרה דרך האלמנטים בווקטור. על ידי שימוש בוקטורים ב-C++, ניתן לכתוב קוד תמציתי ויעיל יותר לעבודה עם אוספי נתונים.
הוספת שני וקטורים ב-C++
גדלי גופן לטקס
הנה קוד לדוגמה ב-C++ שמדגים כיצד להוסיף שני וקטורים:
#include #include std::vector addVectors(const std::vector& vec1, const std::vector& vec2) { // Check if the vectors have the same size if (vec1.size() != vec2.size()) { std::cout << 'Error: Vectors must have the same size to add them.' << std::endl; return std::vector(); } // Create a vector to store the result std::vector result(vec1.size()); // Add the elements of vec1 and vec2 and store the result in result for (int i = 0; i < vec1.size(); i++) { result[i] = vec1[i] + vec2[i]; } return result; } int main() { // Create two vectors std::vector vec1 = {1, 2, 3}; std::vector vec2 = {4, 5, 6}; // Add the two vectors std::vector result = addVectors(vec1, vec2); // Print the result std::cout << 'The result of adding the two vectors is: ['; for (int i = 0; i < result.size(); i++) { std::cout << result[i]; if (i != result.size() - 1) { std::cout << ', '; } } std::cout << ']' << std::endl; return 0; }
תְפוּקָה
The result of adding the two vectors is: [5, 7, 9]
הֶסבֵּר:
בקוד זה, הפונקציה addVectors לוקחת שני וקטורים כקלט ומחזירה וקטור המכיל את סכום האלמנטים של וקטורי הקלט. הפונקציה הראשית יוצרת שני וקטורים, vec1 ו-vec2, ומוסיפה אותם יחד באמצעות הפונקציה addVectors. התוצאה מודפסת למסוף.
שימו לב שקוד זה מניח שלווקטורים יש אותו גודל. אם לוקטורים יש גדלים שונים, הפונקציה addVectors תחזיר וקטור ריק ותדפיס הודעת שגיאה.