Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में वेक्टर कॉपी करने के तरीके


C++ में वेक्टर कॉपी करने के विभिन्न तरीके हैं।

1) std::copy

std::copy एक वेक्टर से दूसरे वेक्टर में एलिमेंट्स कॉपी करने के लिए इनबिल्ट है।

सिंटैक्स

std::copy(first_iterator_o, last_iterator_o, back_inserter()): first_iteratot_0 = पहले वेक्टर का पहला इटरेटर। last_iteratot_0 = पहले वेक्टर का अंतिम इटरेटर। back_inserter() = पीछे से मान डालने के लिए।

एल्गोरिथम

Begin    Declare v1 of vector type.       Initialize some values into v1 vector in array pattern.    Declare v2 of vector type.    Call copy(v1.begin(), v1.end(), back_inserter(v2)) to copy all    elements of v1 to v2.    Print “v1 vector elements are :”.    for (int i=0;i<1.size; i++)       print the all element of v2 vector.    Print “v2 vector elements are :”.    for (int i=0;i<2.size; i++)       print the all element of v2 vector. End.

उदाहरण कोड

#include<iostream> #include<vector> #include<algorithm> // for copy. #include<iterator> // for back_inserter using namespace std; int main() {    vector<int> v1{ 7, 6, 4, 5 };    vector<int> v2;    copy(v1.begin(), v1.end(), back_inserter(v2));    cout << "v1 vector elements are : ";    for (int i=0; i<v1.size(); i++)       cout << v1[i] << " ";       cout << endl;       cout << "v2 vector elements are : ";    for (int i=0; i<v2.size(); i++)       cout << v2[i] << " ";       cout<< endl;    return 0; }

आउटपुट

v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5

2) असाइन ऑपरेटर

इसका उपयोग वेक्टर 1 से वेक्टर 2 में मान कॉपी करने के लिए भी किया जाता है।

सिंटैक्स

std::assign(first_iterator_o, last_iterator_o): first_iteratot_0 = पहले वेक्टर का पहला इटरेटर। last_iteratot_0 = पहले वेक्टर का अंतिम इटरेटर।

एल्गोरिथम

Begin    Initialize a vector v1 with its elements.    Declare another vector v2.    Call assign() to copy the elements of v1 to v2.    Print the elements of v1.    Print the elements of v2. End.

उदाहरण कोड

#include<iostream> #include<vector> // for vector #include<iostream> #include<vector>// for vector #include<algorithm>// for copy() and assign() #include<iterator>// for back_inserter using namespace std; int main() {    vector<int> v1{7,6,4,5};    vector<int> v2;    v2.assign(v1.begin(), v1.end());    cout << "v1 vector elements are : ";    for (int i=0; i<v1.size(); i++)       cout << v1[i] << " ";       cout << endl;       cout << "v2 vector elements are : ";    for (int i=0; i<v2.size(); i++)       cout << v2[i] << " ";       cout<< endl;    return 0; }

आउटपुट

v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5

3) असाइनमेंट "&=" ऑपरेटर द्वारा

यह वेक्टर 1 से वेक्टर 2 में मान कॉपी करने का एक सरल तरीका है

एल्गोरिथम

Begin    Initialize a vector v1 with its elements.    Declare another vector v2.    Call assignment operator “=” to copy the elements of v1 to v2.    Print the elements of v1.    Print the elements of v2. End.

उदाहरण कोड

#include<iostream> #include<vector> // for vector #include<algorithm>// for copy() and assign() #include<iterator>// for back_inserter using namespace std; int main() {    vector<int> v1{7,6,4,5};    vector<int> v2;    v2 = v1 ;    cout << "v1 vector elements are : ";    for (int i=0; i<v1.size(); i++)       cout << v1[i] << " ";       cout << endl;       cout << "v2 vector elements are : ";    for (int i=0; i<v2.size(); i++)       cout << v2[i] << " ";       cout<< endl;    return 0; }

आउटपुट

v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5

4) push_back मेथड द्वारा

एल्गोरिथम

Begin    Initialize a vector v1 with its elements.    Declare another vector v2.    Make a for loop to copy elements of first vector into second vector by Iterative method using push_back().    Print the elements of v1.    Print the elements of v2. End.

उदाहरण कोड

#include<iostream> #include<vector> // for vector #include<iostream> #include<vector>// for vector #include<algorithm>// for copy() and assign() #include<iterator>// for back_inserter using namespace std; int main() {    vector<int> v1{7,6,4,5};    vector<int> v2;    for (int i=0; i<v1.size(); i++)       v2.push_back(v1[i]);       cout << "v1 vector elements are : ";    for (int i=0; i<v1.size(); i++)       cout << v1[i] << " ";       cout << endl;       cout << "v2 vector elements are : ";    for (int i=0; i<v2.size(); i++)       cout << v2[i] << " ";       cout<< endl;    return 0; }

आउटपुट

v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5

5) वेक्टर को कंस्ट्रक्टर के रूप में पास करके

एल्गोरिथम

Begin    Initialize a vector v1 with its elements.    Declare another vector v2 and copying elements of first vector to second vector using constructor method and they are deeply copied.    Print the elements of v1.    Print the elements of v2. End.

उदाहरण कोड

#include<iostream> #include<vector>// for vector #include<algorithm>// for copy() and assign() #include<iterator>// for back_inserter using namespace std; int main() {    vector<int> v1{7,6,4,5};    vector<int> v2(v1);    cout << "v1 vector elements are : ";    for (int i=0; i<v1.size(); i++)       cout << v1[i] << " ";       cout << endl;       cout << "v2 vector elements are : ";    for (int i=0; i<v2.size(); i++)       cout << v2[i] << " ";       cout<< endl;    return 0; }

आउटपुट

v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5

  1. - C++ में vector::resize() और vector::reserve() का अंतर

    वेक्टर में डायनामिक ऐरे की तरह खुद को ऑटोमैटिकली रीसाइज़ करने की क्षमता होती है। जब कोई एलिमेंट डाला या हटाया जाता है, तो कंटेनर अपने स्टोरेज को ऑटोमैटिकली संभालता है। vector::resize() और vector::reserve() के बीच मुख्य अंतर यह है कि resize() वेक्टर का साइज़ बदलने के लिए उपयोग किया जाता है जबकि rese

  1. - C++ में टाइप इन्फरेंस (प्रकार निगमन)

    टाइप इन्फरेंस या डिडक्शन का अर्थ है प्रोग्रामिंग भाषा में एक एक्सप्रेशन के डेटा टाइप का ऑटोमैटिक डिटेक्शन। यह कुछ स्ट्रॉन्गली स्टैटिकली टाइप्ड भाषाओं में मौजूद एक विशेषता है। C++ में, auto कीवर्ड (C++11 में जोड़ा गया) ऑटोमैटिक टाइप डिडक्शन के लिए उपयोग किया जाता है। उदाहरण के लिए, आप एक वेक्टर पर पु

  1. - C++ में कॉपी कंस्ट्रक्टर

    कॉपी कंस्ट्रक्टर क्या है? एक प्रकार का कंस्ट्रक्टर जो समान क्लास के मौजूदा ऑब्जेक्ट से नया ऑब्जेक्ट बनाता और आरंभ करता है। यदि परिभाषित न हो तो कंपाइलर डिफॉल्ट कॉपी कंस्ट्रक्टर बनाता है (शैलो कॉपी)। पॉइंटर सदस्यों या डायनामिक मेमोरी वाली क्लास के लिए डीप कॉपी कंस्ट्रक्टर आवश्यक है। सिंटैक्स ClassN