Множество в вектор в C++
Иногда нужен вектор с теми же значениями, что
и в множестве, но с возможностью индекса и
повторов. Элементы множества копируют в вектор
циклом, на каждой итерации вызывая push_back.
Перенесем строки из множества во вектор и выведем их:
std::set<std::string> st = {"a", "b", "c"};
std::vector<std::string> vec;
for (std::string elem : st) {
vec.push_back(elem);
}
for (std::string str : vec) {
std::cout << str << "\n";
}
Исходное множество при этом не меняется - меняется только новый вектор:
std::set<int> st = {1, 2, 3};
std::vector<int> vec;
for (int num : st) {
vec.push_back(num);
}
std::cout << st.size() << "\n";
std::cout << vec.size() << "\n";
Дано множество:
std::set<std::string> st = {"x", "y"};
Получите вектор с теми же строками. Выведите каждый элемент вектора в консоль с новой строки.
Дано множество:
std::set<int> st = {7, 8, 9};
Получите вектор с теми же числами. Выведите каждый элемент вектора в консоль с новой строки.