मान लीजिए कि हमारे पास वेक्टर के अंदर मौजूद तत्वों का एक सेट है। हमें इंडेक्स का उपयोग करके हटाने के लिए वेक्टर वर्ग प्रकार के इरेज़ () फ़ंक्शन का उपयोग करके कुछ हटाने का ऑपरेशन करना होगा, और अंत में बाकी तत्वों को प्रदर्शित करना होगा। इरेज़ फंक्शन सीधे इंडेक्स को नहीं लेता है। हमें इसका पता v.begin()+index पास करके पास करना होगा, यहां v वेक्टर है और v.begin() पहले एलिमेंट (0वां एलिमेंट) का एड्रेस है। अब इसके साथ इंडेक्स जोड़कर यह दिए गए इंडेक्स में मौजूद एलिमेंट की ओर बढ़ेगा।
इसलिए, यदि इनपुट v =[5,8,6,3,2,0,1,4] की तरह है, तो सूचकांक 2, 6 और 5 से मिटा दें, तो आउटपुट [5,8,3,2,00] होगा ] क्योंकि शुरू में सरणी [5,8,6,3,2,0,1,4] थी, अब सूचकांक 2 से तत्व को हटाने के बाद, यह [5,8,3,2,0,1,4] है, अब अनुक्रमणिका 6 पर तत्व 4 है, इसलिए इसे हटाने के बाद, सरणी [5,8,6,3,2,0,0,1] होगी और अब सूचकांक 5 पर आइटम 1 है, इसलिए इसे हटाने के बाद, सरणी होगी हो [5,8,3,2,0]।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सूचकांक 2 पर तत्व मिटाएं v.erase(v.begin()+2)
. द्वारा -
सूचकांक 6 पर तत्व मिटाएं v.erase(v.begin()+6)
. द्वारा -
सूचकांक 5 पर तत्व मिटाएं v.erase(v.begin()+5)
. द्वारा
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ vector<int> v = {5,8,6,3,2,0,1,4}; v.erase(v.begin()+2); v.erase(v.begin()+6); v.erase(v.begin()+5); for(int i = 0; i<v.size(); i++){ cout << v[i] << " "; } }
इनपुट
{5,8,6,3,2,0,1,4}
आउटपुट
5 8 3 2 0