How to get a Random Item in a Set in C++


How to get a Random Item in a Set in C++ ?

Answer

To retrieve a random item from a set in C++, you can utilize the `std::vector` container along with the `std::random_device` and `std::uniform_int_distribution` classes.



✐ Examples

1 Get Random Item from Set

In this example,

  1. We include necessary header files such as `iostream`, `vector`, `random`, and `ctime`.
  2. We create a vector named `my_set` and populate it with elements.
  3. We seed the random number generator using `std::random_device` combined with `std::mt19937` engine.
  4. We use `std::uniform_int_distribution` to generate a random index within the size of the set.
  5. We access the element at the randomly generated index to retrieve the random item.
  6. Finally, we print the randomly selected item.

C++ Program

#include <iostream>
#include <vector>
#include <random>
#include <ctime>

int main() {
    // Create and populate the set (vector)
    std::vector<int> my_set = {1, 2, 3, 4, 5};

    // Seed the random number generator
    std::random_device rd;
    std::mt19937 gen(rd());

    // Generate random index
    std::uniform_int_distribution<> dis(0, my_set.size() - 1);
    int random_index = dis(gen);

    // Get random item from set
    int random_item = my_set[random_index];

    // Print random item
    std::cout << "Random item from set: " << random_item << std::endl;
    return 0;
}

Output

Random item from set: [random value]

Summary

In this tutorial, we learned How to get a Random Item in a Set in C++ language with well detailed examples.




More C++ Sets Tutorials

  1. How to create an Empty Set in C++ ?
  2. How to Initialize a Set in C++ ?
  3. How to Get Length of a Set in C++ ?
  4. How to create a Set of size N in C++ ?
  5. How to create a Set of Numbers from 1 to N in C++ ?
  6. How to create a Set of integers in C++ ?
  7. How to create a Set of Strings in C++ ?
  8. How to Access Items in a Set in C++ ?
  9. How to get a Random Item in a Set in C++ ?
  10. How to Iterate Over a Set in C++ ?
  11. How to check if a Set is Empty in C++ ?
  12. How to check if a Set is Not Empty in C++ ?
  13. How to get Subset from a Set in C++ ?
  14. How to check if a Specific Item is present in the Set in C++ ?
  15. How to check if a Set contains all the items of Another Set in C++ ?
  16. How to Sort Items of a Set in C++ ?
  17. How to Copy a Set in C++ ?
  18. How to add an Item to a Set in C++ ?
  19. How to find Union of Two Sets in C++ ?
  20. How to find Intersection of Two Sets in C++ ?
  21. How to check if Two Sets are Equal in C++ ?
  22. How to Convert a Set of Integers to a Set of Strings in C++ ?
  23. How to Convert a Set of Strings to a Set of Integers in C++ ?
  24. How to Convert a Set of Floats to a Set of Strings in C++ ?
  25. How to Filter Items of a Set based on a Condition in C++ ?
  26. How to Remove Specific Item from a Set in C++ ?
  27. How to Remove Items from Set based on a Condition in C++ ?
  28. How to create a Set of Sets in C++ ?