העתקת וקטור היא תהליך יצירת וקטור חדש המכיל אלמנטים זהים כמו וקטור מקורי. במאמר זה נלמד דרכים שונות להעתיק וקטור ב- C ++.
השיטה היעילה והקלה ביותר להעתקת וקטור ב- C ++ היא באמצעות מפעיל הקצאה (=) ו בואו נסתכל על דוגמה:
C++
#include using namespace std; int main() { vector<int> v1 = {2 4 1 5 3}; // Assigning the vector v1 to vector v2 vector<int> v2 = v1; for (auto i : v2) cout << i << ' '; return 0; }
תְפוּקָה
2 4 1 5 3
C ++ מספק גם שיטות נוספות להעתקת וקטור לווקטור אחר. הם כדלקמן:
טבלת תוכן
- באמצעות קונסטרוקטור וקטורי
- באמצעות העתק ()
- באמצעות הקצאת וקטור ()
- באמצעות תוספת וקטורית ()
- באמצעות וקטור push_back ()
באמצעות קונסטרוקטור וקטורי
דרך קלה נוספת להעתיק וקטור בעת ההצהרה היא על ידי העברת הווקטור המקורי למבנה ההעתקה של אחר וֶקטוֹר.
C++
#include using namespace std; int main() { vector<int> v1 = {2 4 1 5 3}; // Copying vector v1 into vector v2 vector<int> v2(v1); for (auto i : v2) cout << i << ' '; return 0; }
תְפוּקָה
2 4 1 5 3
באמצעות העתק ()
THE לְהַעְתִיק() הפונקציה היא שיטת ההתחלה שלנו להעתיק נתונים ב- C ++. זה יכול להעתיק וקטור אחד למשנהו באמצעות איטרטורים שלהם. יתר על כן copy_if () וריאנט של פונקציה זו יכול גם לבצע עותק סלקטיבי על בסיס פונקציית קודקוד לא -אריח.
C++#include using namespace std; int main() { vector<int> v1 = {2 4 1 5 3}; vector<int> v2; // Copying vector v1 into vector v2 copy(v1.begin() v1.end() back_inserter(v2)); for (auto i : v2) cout << i << ' '; return 0; }
תְפוּקָה
2 4 1 5 3
הֶסבֵּר: עלינו להשתמש back_insertor () פונקציה אם לא ציינו את גודל הווקטור במהלך ההצהרה. אם כבר היה לנו מספיק מקום אז אנחנו צריכים לעבור v2.begin () במקום זאת.
באמצעות הקצאת וקטור ()
THE הקצאה וקטורית () השיטה שווה לשיטת = מפעיל אך היא זקוקה לאיטרטור לווקטור כדי להעתיק.
C++
#include using namespace std; int main() { vector<int> v1 = {2 4 1 5 3}; vector<int> v2; // Copying the vector v1 into vector v v2.assign(v1.begin() v1.end()); for (auto i : v2) cout << i << ' '; return 0; }
תְפוּקָה
2 4 1 5 3
באמצעות תוספת וקטורית ()
THE הכנס וקטורי () השיטה מספקת גרסה שיכולה להעתיק את כל האלמנטים מהטווח הנתון. ניתן להשתמש בזה כדי להעתיק את הווקטור כולו למשנהו באופן דומה לשיטת הקצאה ().
C++#include using namespace std; int main() { vector<int> v1 = {2 4 1 5 3}; vector<int> v2; // Copying vector v1 into vector v2 v2.insert(v2.begin() v1.begin() v1.end()); for (auto i : v2) cout << i << ' '; return 0; }
תְפוּקָה
2 4 1 5 3
באמצעות וקטור push_back ()
דחף את כל האלמנטים של הווקטור הראשון לווקטור השני על ידי שימוש וקטור push_back () שִׁיטָה. לולאה יכולה להיות חוזרת דרך הווקטור הראשון.
C++#include using namespace std; int main() { vector<int> v1 = {2 4 1 5 3}; vector<int> v2; // Copying vector v1 into vector v2 for (auto i : v1) v2.push_back(i); for (auto i : v2) cout << i << ' '; return 0; }
תְפוּקָה
2 4 1 5 3
שיטה זו מספקת שליטה רבה יותר מכיוון שנוכל לשנות גם את האלמנט במידת הצורך לפני העתקה.