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

सी ++ में वेक्टर का अंतिम तत्व (एक्सेस करना और अपडेट करना)


इस लेख में, हम C++ में वेक्टर के अंतिम तत्व तक पहुंचने और उसे अपडेट करने के तरीकों पर चर्चा करेंगे।

वेक्टर टेम्पलेट क्या है?

वेक्टर अनुक्रम कंटेनर हैं जिनका आकार गतिशील रूप से बदला जाता है। एक कंटेनर एक ऐसी वस्तु है जिसमें एक ही प्रकार का डेटा होता है। अनुक्रम कंटेनर तत्वों को एक रैखिक क्रम में सख्ती से संग्रहीत करते हैं।

वेक्टर कंटेनर तत्वों को सन्निहित स्मृति स्थानों में संग्रहीत करता है और सबस्क्रिप्ट ऑपरेटर [] का उपयोग करके किसी भी तत्व तक सीधी पहुंच को सक्षम बनाता है। सरणियों के विपरीत, वेक्टर का आकार गतिशील है। वेक्टर का संग्रहण स्वचालित रूप से नियंत्रित किया जाता है।

वेक्टर की परिभाषा

Template <class T, class Alloc = allocator<T>> class vector;

वेक्टर के पैरामीटर

फ़ंक्शन निम्नलिखित पैरामीटर को स्वीकार करता है -

  • टी - यह निहित तत्व का प्रकार है।

  • आवंटित करें - यह आवंटक वस्तु का प्रकार है।

हम वेक्टर के अंतिम तत्व तक कैसे पहुंच सकते हैं?

वेक्टर के अंतिम तत्व तक पहुँचने के लिए हम दो विधियों का उपयोग कर सकते हैं:

उदाहरण

वापस() फ़ंक्शन का उपयोग करना

#include <bits/stdc++.h>
using namespace std;
int main(){
   vector<int> vec = {11, 22, 33, 44, 55};
   cout<<"Elements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i << " ";
   }
   // call back() for fetching last element
   cout<<"\nLast element in vector is: "<<vec.back();
   vec.back() = 66;
   cout<<"\nElements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i << " ";
   }
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Elements in the vector before updating: 11 22 33 44 55
Last element in vector is: 55
Elements in the vector before updating: 11 22 33 44 66

उदाहरण

आकार () फ़ंक्शन का उपयोग करके

#include <bits/stdc++.h>
using namespace std;
int main(){
   vector<int> vec = {11, 22, 33, 44, 55};
   cout<<"Elements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i << " ";
   }
   // call size() for fetching last element
   int last = vec.size();
   cout<<"\nLast element in vector is: "<<vec[last-1];
   vec[last-1] = 66;
   cout<<"\nElements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i <<" ";
   }
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Elements in the vector before updating: 11 22 33 44 55
Last element in vector is: 55
Elements in the vector before updating: 11 22 33 44 66

  1. सी ++ में एसटीडी ::वेक्टर और एसटीडी ::सरणी के बीच अंतर

    वेक्टर और सरणी के बीच अंतर निम्नलिखित हैं - वेक्टर तत्वों को संग्रहीत करने के लिए अनुक्रमिक कंटेनर है न कि अनुक्रमणिका आधारित। सरणी एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्रहीत करता है और यह अनुक्रमणिका आधारित है। वेक्टर प्रकृति में गतिशील है, इसलिए तत्वों को सम्मिलित क

  1. C++ STL में vector::begin() और vector::end()

    वेक्टर ::शुरू () फ़ंक्शन एक द्विदिश पुनरावर्तक है जिसका उपयोग कंटेनर के पहले तत्व की ओर इशारा करते हुए एक पुनरावर्तक को वापस करने के लिए किया जाता है। वेक्टर::एंड () फ़ंक्शन एक द्विदिश पुनरावर्तक है जिसका उपयोग कंटेनर के अंतिम तत्व की ओर इशारा करते हुए एक पुनरावर्तक को वापस करने के लिए किया जाता है

  1. सी ++ में एक वेक्टर को सॉर्ट करना

    सी ++ में वेक्टर को सॉर्ट करना std ::सॉर्ट() का उपयोग करके किया जा सकता है। इसे हेडर में परिभाषित किया गया है। एक स्थिर प्रकार प्राप्त करने के लिए std::stable_sort का उपयोग किया जाता है। यह बिल्कुल सॉर्ट () जैसा है लेकिन समान तत्वों के सापेक्ष क्रम को बनाए रखता है। आवश्यकता के अनुसार क्विकसॉर्ट (),