How to Swap Keys and Values in a Map in C++ - Step by Step Examples



How to Swap Keys and Values in a Map in C++ ?

Answer

To swap keys and values in a map in C++, you can iterate over the original map and insert each key-value pair into a new map with the value as the key and the key as the value. This method allows you to create a new map with swapped key-value pairs.



✐ Examples

1 Swapping Keys and Values in a Map of Integers

We can swap keys and values in a map of integers in C++ by iterating over the original map and inserting each key-value pair into a new map with the value as the key and the key as the value.

For example,

  1. We start by including the necessary headers: #include <iostream> and #include <map>.
  2. We declare and initialize a map of integers named originalMap.
  3. We declare an empty map named swappedMap to store the swapped key-value pairs.
  4. We iterate over the original map using a range-based for loop and insert each key-value pair into the new map with the value as the key and the key as the value.
  5. We print the resulting map to the console to verify the swap.

C++ Program

#include <iostream>
#include <map>

int main() {
    // Declare and initialize a map of integers
    std::map<int, int> originalMap = {
        {1, 10},
        {2, 20},
        {3, 30},
        {4, 40},
        {5, 50}
    };

    // Declare an empty map to store the swapped key-value pairs
    std::map<int, int> swappedMap;

    // Iterate over the original map and insert each key-value pair into the new map with the value as the key and the key as the value
    for (const auto& pair : originalMap) {
        swappedMap[pair.second] = pair.first;
    }

    // Print the resulting map
    std::cout << "Swapped map of integers:" << std::endl;
    for (const auto& pair : swappedMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

Output

Swapped map of integers:
10: 1
20: 2
30: 3
40: 4
50: 5

2 Swapping Keys and Values in a Map of Strings

We can swap keys and values in a map of strings in C++ by iterating over the original map and inserting each key-value pair into a new map with the value as the key and the key as the value.

For example,

  1. We start by including the necessary headers: #include <iostream> and #include <map>.
  2. We declare and initialize a map of strings named originalMap.
  3. We declare an empty map named swappedMap to store the swapped key-value pairs.
  4. We iterate over the original map using a range-based for loop and insert each key-value pair into the new map with the value as the key and the key as the value.
  5. We print the resulting map to the console to verify the swap.

C++ Program

#include <iostream>
#include <map>
#include <string>

int main() {
    // Declare and initialize a map of strings
    std::map<std::string, std::string> originalMap = {
        {"one", "uno"},
        {"two", "dos"},
        {"three", "tres"},
        {"four", "cuatro"},
        {"five", "cinco"}
    };

    // Declare an empty map to store the swapped key-value pairs
    std::map<std::string, std::string> swappedMap;

    // Iterate over the original map and insert each key-value pair into the new map with the value as the key and the key as the value
    for (const auto& pair : originalMap) {
        swappedMap[pair.second] = pair.first;
    }

    // Print the resulting map
    std::cout << "Swapped map of strings:" << std::endl;
    for (const auto& pair : swappedMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

Output

Swapped map of strings:
uno: one
dos: two
tres: three
cuatro: four
cinco: five

3 Swapping Keys and Values in a Map of Mixed Types

We can swap keys and values in a map with mixed key and value types in C++ by iterating over the original map and inserting each key-value pair into a new map with the value as the key and the key as the value. This example demonstrates swapping keys of type int with values of type std::string.

For example,

  1. We start by including the necessary headers: #include <iostream> and #include <map>.
  2. We declare and initialize a map with mixed types named originalMap.
  3. We declare an empty map named swappedMap to store the swapped key-value pairs.
  4. We iterate over the original map using a range-based for loop and insert each key-value pair into the new map with the value as the key and the key as the value.
  5. We print the resulting map to the console to verify the swap.

C++ Program

#include <iostream>
#include <map>
#include <string>

int main() {
    // Declare and initialize a map with mixed types
    std::map<int, std::string> originalMap = {
        {1, "one"},
        {2, "two"},
        {3, "three"},
        {4, "four"},
        {5, "five"}
    };

    // Declare an empty map to store the swapped key-value pairs
    std::map<std::string, int> swappedMap;

    // Iterate over the original map and insert each key-value pair into the new map with the value as the key and the key as the value
    for (const auto& pair : originalMap) {
        swappedMap[pair.second] = pair.first;
    }

    // Print the resulting map
    std::cout << "Swapped map of mixed types:" << std::endl;
    for (const auto& pair : swappedMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

Output

Swapped map of mixed types:
one: 1
two: 2
three: 3
four: 4
five: 5

Summary

In this tutorial, we learned How to Swap Keys and Values in a Map in C++ language with well detailed examples.




More C++ Maps Tutorials

  1. How to create an Empty Map in C++ ?
  2. How to create a Map with Initial Key-Value Pairs in C++ ?
  3. How to Print a Map in C++ ?
  4. How to Add a Key-Value Pair to a Map in C++ ?
  5. How to Set a Default Value for a Key in a Map in C++ ?
  6. How to Update the Value for a Key in a Map in C++ ?
  7. How to Check if a Map is Empty in C++ ?
  8. How to Check if a Key Exists in a Map in C++ ?
  9. How to Check if a Value Exists in a Map in C++ ?
  10. How to Get the Value Associated with a Key in a Map in C++ ?
  11. How to Remove a Key-Value Pair from a Map in C++ ?
  12. How to Remove Key-Value Pairs from a Map Based on Values in C++ ?
  13. How to Clear All Key-Value Pairs from a Map in C++ ?
  14. How to Iterate Over Keys in a Map in C++ ?
  15. How to Iterate Over Values in a Map in C++ ?
  16. How to Iterate Over Entries (Key-Value Pairs) in a Map in C++ ?
  17. How to Get the Size (Number of Key-Value Pairs) of a Map in C++ ?
  18. How to Convert a Map to an Array of Keys in C++ ?
  19. How to Convert a Map to an Array of Values in C++ ?
  20. How to Convert a Map to an Array of Key-Value Pairs in C++ ?
  21. How to Merge Two Maps in C++ ?
  22. How to Copy a Map in C++ ?
  23. How to Check if Two Maps are Equal in C++ ?
  24. How to Sort a Map by Keys in C++ ?
  25. How to Sort a Map by Values in C++ ?
  26. How to Filter a Map Based on Keys in C++ ?
  27. How to Filter a Map Based on Values in C++ ?
  28. How to Reduce Values in a Map to a Single Value in C++ ?
  29. How to Convert an Array of Key-Value Pairs to a Map in C++ ?
  30. How to Convert a Map to a JSON String in C++ ?
  31. How to Convert a JSON String to a Map in C++ ?
  32. How to Swap Keys and Values in a Map in C++ ?
  33. How to Create a Map of Maps in C++ ?
  34. How to Iterate Over a Map of Maps in C++ ?