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

C++ में swap() फ़ंक्शन


swap() फ़ंक्शन

दो संख्याओं को स्वैप (अदला-बदली) करने के लिए उपयोग किया जाता है। तीसरे वेरिएबल की आवश्यकता नहीं होती। <algorithm> या <utility> हेडर में परिभाषित (C++11 से)।

सिंटैक्स

void swap(Type& a, Type& b);

उदाहरण 1: मान द्वारा पास (मान बदलते नहीं)

#include <bits/stdc++.h>
using namespace std;

int main() {
    int x = 35, y = 75;
    printf("Value of x: %d", x);
    printf("\nValue of y: %d", y);
    swap(x, y);                      // मान स्वैप होते हैं
    printf("\nAfter swapping: x = %d, y = %d", x, y);
    return 0;
}

आउटपुट

Value of x: 35
Value of y: 75
After swapping: x = 75, y = 35

उदाहरण 2: संदर्भ द्वारा पास (वास्तविक स्थान पर स्वैप)

#include <stdio.h>

void SwapValue(int &a, int &b) {    // रेफरेंस पैरामीटर्स
    int t = a;
    a = b;
    b = t;
}

int main() {
    int a, b;
    printf("Enter value of a: ");
    scanf("%d", &a);
    printf("\nEnter value of b: ");
    scanf("%d", &b);
    SwapValue(a, b);
    printf("\nAfter swapping: a = %d, b = %d", a, b);
    return 0;
}

आउटपुट

Enter value of a: 8
Enter value of b: 28
After swapping: a = 28, b = 8

महत्वपूर्ण बिंदु

  • C++ STL का std::swap रेफरेंस द्वारा पास करता है (वास्तविक मान स्वैप होते हैं)
  • कस्टम स्वैप फ़ंक्शन में रेफरेंस पैरामीटर्स (int&) का उपयोग करें
  • C++11 से std::move के साथ मूव सेमेन्टिक्स का उपयोग करके कुशल स्वैप
  • ऐरे/कंटेनर्स के लिए std::swap_ranges उपलब्ध

std::swap कार्यान्वयन (सरलीकृत)

template <class T>
void swap(T& a, T& b) noexcept {
    T temp = std::move(a);
    a = std::move(b);
    b = std::move(temp);
}
  1. - C++ में fma() फ़ंक्शन

    दिया गया कार्य C++ में fma() फ़ंक्शन के कार्य को दिखाना है। इस लेख में हम देखेंगे कि इस फ़ंक्शन को किन पैरामीटर की आवश्यकता है और यह क्या परिणाम लौटाएगा।fma() cmath हेडर फ़ाइल का एक अंतर्निहित फ़ंक्शन है, जो तीन पैरामीटर x, y और z स्वीकार करता है और किसी भी मध्यवर्ती परिणाम में सटीकता खोए बिना x*y+z

  1. - C++ STL में unordered_multimap swap() फ़ंक्शन

    C++ STL में unordered_multimap swap() फ़ंक्शन एक मल्टीमैप के एलिमेंट्स को उसी आकार और प्रकार के दूसरे मल्टीमैप से स्वैप करने के लिए उपयोग किया जाता है। एल्गोरिथम Begin    Declaring two empty map container m, m1.    Insert some values in both m, m1 map containers.    Pe

  1. - C++ में log() फ़ंक्शन

    C/C++ लाइब्रेरी फ़ंक्शन double log(double x) x का नेचुरल लॉगरिदम (बेस e लॉगरिदम) लौटाता है। log() फ़ंक्शन के लिए घोषणा निम्नलिखित है। double log(double x) पैरामीटर एक फ्लोटिंग पॉइंट मान है। और यह फ़ंक्शन x का नेचुरल लॉगरिदम लौटाता है। उदाहरण #include <iostream> #include <cmath> using