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

C++ में विभिन्न कंटेनर्स के सबरेंज स्वैप करना


इस ट्यूटोरियल में, हम C++ में विभिन्न कंटेनर्स के सबरेंज (subranges) को स्वैप करने को समझने के लिए एक प्रोग्राम पर चर्चा करेंगे।

इसके लिए हमें वेक्टर्स और लिस्ट्स प्रदान किए जाएंगे, और हमें उनके कुछ तत्वों को स्वैप करना होगा।

उदाहरण

#include <algorithm>
#include <iostream>
#include <list>
#include <vector>
using namespace std;

int main() {
    vector<int> v = { -10, -15, -30, 20, 500 };
    list<int> lt = { 10, 50, 30, 100, 50 };
    
    // पहले 3 तत्वों को लिस्ट के पहले 3 तत्वों से स्वैप करें
    swap_ranges(v.begin(), v.begin() + 3, lt.begin());
    
    for (int n : v) cout << n << ' ';
    cout << '\n';
    for (int n : lt) cout << n << ' ';
    cout << endl;
    return 0;
}

आउटपुट

10 50 30 20 500
-10 -15 -30 100 50

व्याख्या

  • swap_ranges एल्गोरिदम दो रेंज के तत्वों को स्वैप करता है।
  • पहली रेंज: v.begin() से v.begin()+3 (पहले 3 तत्व)।
  • दूसरी रेंज: lt.begin() से शुरू (पहले 3 तत्व)।
  • वेक्टर के पहले 3 तत्व (-10, -15, -30) लिस्ट के पहले 3 तत्वों (10, 50, 30) से स्वैप हो जाते हैं।
  • दोनों कंटेनर्स के शेष तत्व अपरिवर्तित रहते हैं।
  1. - C++ फंक्शन से एकाधिक मान वापस करना

    C या C++ में, हम सीधे एक फंक्शन से एकाधिक मान वापस नहीं कर सकते। इस सेक्शन में हम देखेंगे कि एक फंक्शन से एक से अधिक मान वापस करने के लिए कुछ ट्रिक का उपयोग कैसे करें। हम कॉल बाय एड्रेस या कॉल बाय रेफरेंस मेथड का उपयोग करके एक फंक्शन से एक से अधिक मान वापस कर सकते हैं। इन्वोकर फंक्शन में हम परिणाम

  1. - C++ फंक्शन से लोकल सरणी कैसे लौटाएं?

    एक लोकल सरणी को C++ फंक्शन से सीधे नहीं लौटाया जा सकता क्योंकि फंक्शन कॉल के बाद यह मेमोरी में मौजूद नहीं रह सकती। इसे हल करने का एक तरीका फंक्शन में स्टैटिक सरणी का उपयोग करना है। चूंकि स्टैटिक सरणी का जीवनकाल पूरा प्रोग्राम होता है, इसे ऊपर बताई गई समस्या के बिना C++ फंक्शन से आसानी से लौटाया जा स

  1. - C++ में फंक्शन से सरणी कैसे लौटाएं?

    C++ पूरी सरणी नहीं लौटाता लेकिन यह सरणी का पॉइंटर लौटा सकता है। फंक्शन के बाहर, लोकल वेरिएबल का पता नहीं लौटाया जा सकता। लोकल वेरिएबल को स्टैटिक बनाकर, यह लोकल वेरिएबल का पता लौटा सकता है। पॉइंटर लौटाने का सिंटैक्स निम्नलिखित है। int * function_name() { body } यहां, function_name − उपयोगकर्ता