Dolarun
@Dolarun

Почему множество из стандартной библиотеке работает некорректно?

Суть проблемы в том, что при проверке есть ли в множестве некоторый элемент(число), которое было введено(insert) туда несколько итераций назад, не находится, и в дебагере в принципе пишет, что множество состоит из 1 элемента, хотя опять же на предедущей(их) итерации(ий) дебаггер показывал, что множество содержит больше 1 элемента.
Code:
Так как мне нужно решить задачу с непересекающимися множествами(Disjoint set) , мне нужен вектор множеств. Если брать отдельное множество, то вышестоящая проблема отсутствует.
int main() {
	std::vector<set<int>> Sets{{0}};
	for (int i = 0; i < 2; i++) {
		if(i ==0)
		for (set<int> s : Sets) {
			s.insert(3);
		}
		if (i == 1)
			for (set<int> s : Sets) {
				if (s.find(3) == s.end())
					throw("ERROR");
			}
	}
	return 0;
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы