सी ++ के विभिन्न अंतर्निहित कार्यों का उपयोग करके वेक्टर के आकार को कम किया जा सकता है। पॉप_बैक () फ़ंक्शन उनमें से एक है। इसका उपयोग वेक्टर के अंतिम तत्व को पीछे से हटाने और वेक्टर के आकार को 1 से कम करने के लिए किया जाता है। लेकिन वेक्टर का अंतिम तत्व इरेज़ () फ़ंक्शन की तरह स्थायी रूप से नहीं हटाया जाता है। इस फंक्शन के विभिन्न उपयोगों को इस ट्यूटोरियल में समझाया गया है।
वाक्य - विन्यास:
वेक्टर::पॉप_बैक();इस फ़ंक्शन का कोई तर्क नहीं है, और यह कुछ भी नहीं देता है।
पूर्व-आवश्यकता:
इस ट्यूटोरियल के उदाहरणों की जाँच करने से पहले, आपको यह जाँचना होगा कि सिस्टम में g++ कंपाइलर स्थापित है या नहीं। यदि आप विजुअल स्टूडियो कोड का उपयोग कर रहे हैं, तो निष्पादन योग्य कोड बनाने के लिए C++ स्रोत कोड को संकलित करने के लिए आवश्यक एक्सटेंशन इंस्टॉल करें। यहां, विजुअल स्टूडियो कोड एप्लिकेशन का उपयोग सी ++ कोड को संकलित और निष्पादित करने के लिए किया गया है। पॉप_बैक () फ़ंक्शन का उपयोग करके वेक्टर के आकार को कम करने के तरीके इस ट्यूटोरियल के अगले भाग में दिखाए गए हैं।
उदाहरण -1: वेक्टर से कई तत्वों को हटा दें
पॉप_बैक () फ़ंक्शन का उपयोग करके वेक्टर के आकार को कम करके वेक्टर कंटेनर से दो तत्वों को निकालने के लिए निम्नलिखित कोड के साथ एक सी ++ फ़ाइल बनाएं। कोड में 5 स्ट्रिंग मानों का एक वेक्टर घोषित किया गया है। वेक्टर से दो अंतिम तत्वों को अस्थायी रूप से हटाने और वेक्टर के आकार को 2 से कम करने के लिए pop_back () फ़ंक्शन को दो बार यहां कॉल किया गया है। वेक्टर की सामग्री को पॉप_बैक () फ़ंक्शन का उपयोग करने से पहले और बाद में दो बार मुद्रित किया गया है।
// आवश्यक पुस्तकालयों को शामिल करें
#शामिल
#शामिल
का उपयोग करते हुए नाम स्थानघंटे;
NSमुख्य() {
// स्ट्रिंग मानों का एक वेक्टर घोषित करें
वेक्टर<डोरी>पुष्प= {'गुलाब','लाइट','गेंदे का फूल','ट्यूलिप','जल लीय'};
लागत << 'वेक्टर के मान:एन';
// मूल्यों को प्रिंट करने के लिए लूप का उपयोग करके वेक्टर को पुनरावृत्त करें
के लिये(NSमैं= 0;मैं<पुष्प।आकार(); ++मैं)
लागत <<पुष्प[मैं] << '';
लागत << 'एन';
// वेक्टर से अंतिम दो मान हटाएं
पुष्प।पॉप_बैक();
पुष्प।पॉप_बैक();
लागत << 'एनहटाने के बाद वेक्टर के मान:एन';
// मूल्यों को प्रिंट करने के लिए लूप का उपयोग करके वेक्टर को पुनरावृत्त करें
के लिये(NSमैं= 0;मैं<पुष्प।आकार(); ++मैं)
लागत <<पुष्प[मैं] << '';
लागत << 'एन';
वापसी 0;
}
आउटपुट:
उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा।
उदाहरण -2: दूसरे वेक्टर से एक नया वेक्टर बनाएं
पॉप_बैक () फ़ंक्शन का उपयोग करके तत्वों को हटाकर किसी अन्य वेक्टर से खाली वेक्टर में विशिष्ट मान डालने के लिए निम्न कोड के साथ एक सी ++ फ़ाइल बनाएं। कोड में 8 पूर्णांक संख्याओं का एक वेक्टर और पूर्णांक प्रकार का एक खाली वेक्टर घोषित किया गया है। 'जबकि' लूप का उपयोग पहले वेक्टर के प्रत्येक तत्व को पुनरावृत्त करने के लिए किया गया है और यदि संख्या 2 से विभाज्य है तो तत्व को नए वेक्टर में सम्मिलित करें। सभी सम संख्याओं का योग भी यहाँ परिकलित किया गया है। लूप की समाप्ति स्थिति तक पहुंचने के लिए लूप के प्रत्येक पुनरावृत्ति में पहले वेक्टर के प्रत्येक तत्व को pop_back() फ़ंक्शन द्वारा हटा दिया जाएगा।
// आवश्यक पुस्तकालयों को शामिल करें
#शामिल
#शामिल
का उपयोग करते हुए नाम स्थानघंटे;
NSमुख्य()
{
// पूर्णांक डेटा का एक वेक्टर घोषित करें
वेक्टर<NS>इंटवेक्टर{ 5,9,4,7,2,8,1,3 };
// एक खाली वेक्टर घोषित करें
वेक्टर<NS>नयावेक्टर;
लागत << 'मूल वेक्टर के मान:एन';
// मूल्यों को प्रिंट करने के लिए लूप का उपयोग करके वेक्टर को पुनरावृत्त करें
के लिये(NSमैं= 0;मैं<इंट वेक्टरआकार(); ++मैं)
लागत <<इंटवेक्टर[मैं] << '';
लागत << 'एन';
// परिणाम आरंभ करें
NSनतीजा= 0;
// लूप को तब तक दोहराएं जब तक कि वेक्टर खाली न हो जाए
जबकि(!इंट वेक्टरखाली())
{
/ *
नए वेक्टर में सम्मिलित करने के लिए सम संख्या ज्ञात करें
और सम संख्याओं के योग की गणना करें
* /
अगर (इंट वेक्टरवापस() % 2 == 0)
{
नतीजा+=इंट वेक्टरवापस();
नया वेक्टर।वापस धक्का देना(इंट वेक्टरवापस());
}
// intVactor के अंत से तत्व निकालें
इंट वेक्टरपॉप_बैक();
}
लागत << 'नए वेक्टर के मान:एन';
// मूल्यों को प्रिंट करने के लिए लूप का उपयोग करके वेक्टर को पुनरावृत्त करें
के लिये(NSमैं= 0;मैं<नया वेक्टर।आकार(); ++मैं)
लागत <<नयावेक्टर[मैं] << '';
लागत << 'एन';
लागत << 'सभी सम संख्याओं का योग :' <<नतीजा<< 'एन';
वापसी 0;
}
आउटपुट:
उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। पहले सदिश में तीन सम संख्याएँ थीं। 8, 2 और 4 हैं।
उदाहरण -3: जांचें कि वेक्टर का अंतिम तत्व हटा दिया गया है या नहीं
यह पहले उल्लेख किया गया है कि पॉप_बैक () वेक्टर से तत्वों को स्थायी रूप से नहीं हटाता है, और यह केवल वेक्टर के आकार को कम करके तत्व को हटा देता है। इसलिए, हटाया गया तत्व उसी स्थिति में रहता है जब तक कि वेक्टर का आकार बढ़ जाता है और तत्व को दूसरे तत्व से बदल देता है। पॉप_बैक () फ़ंक्शन द्वारा हटाए गए तत्व मौजूद है या नहीं, यह जांचने के लिए निम्नलिखित कोड के साथ एक सी ++ फ़ाइल बनाएं। पॉप_बैक () फ़ंक्शन का उपयोग करने से पहले और बाद में मूल वेक्टर की अंतिम स्थिति मुद्रित की गई है।
#शामिल#शामिल
का उपयोग करते हुए नाम स्थानघंटे;
NSमुख्य()
{
// पूर्णांक डेटा का एक वेक्टर घोषित करें
वेक्टर<NS>इंटवेक्टर{ 54,19,46,72,22,83,10,53 };
// एक खाली वेक्टर घोषित करें
वेक्टर<NS>नयावेक्टर;
// एक पूर्णांक चर घोषित करें
NSलंबाई;
// वेक्टर के आकार के आधार पर अंतिम तत्व को प्रिंट करें
लंबाई=इंट वेक्टरआकार();
लागत << 'वेक्टर का वर्तमान आकार:' <<लंबाई<< 'एन';
लागत << 'निकालने से पहले वेक्टर का अंतिम मान:' <<इंटवेक्टर[लंबाई-1] << 'एन';
// वेक्टर के अंत से तत्व को हटा दें
इंट वेक्टरपॉप_बैक();
// हटाने के बाद वेक्टर के आकार के आधार पर अंतिम तत्व को प्रिंट करें
लंबाई=इंट वेक्टरआकार();
लागत << 'वेक्टर का वर्तमान आकार:' <<लंबाई<< 'एन';
लागत << 'निकालने के बाद वेक्टर का अंतिम मान:' <<इंटवेक्टर[लंबाई] << 'एन';
वापसी 0;
}
आउटपुट:
उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। आउटपुट से पता चलता है कि वेक्टर का आकार 1 से कम हो गया है, लेकिन मूल वेक्टर की अंतिम स्थिति का तत्व अभी भी मौजूद है।
निष्कर्ष:
पॉप_बैक () फ़ंक्शन के तीन अलग-अलग उपयोगों को इस ट्यूटोरियल में सरल उदाहरणों का उपयोग करके वर्णित किया गया है। इस ट्यूटोरियल के उदाहरणों का अभ्यास करने के बाद पाठकों के लिए इस फ़ंक्शन का उपयोग करने का मुख्य उद्देश्य स्पष्ट हो जाएगा।