Вставка в карту<int, установите <int>>
Почему следующий код не вставляет элементы в map<int, set<int> >
?
(Размер всех наборов после выполнения следующего кода равен 0.)
Я создаю список смежности на этой карте.
map<int, set<int> > m;
cin>>n;
while(n--)
{
cin>>t;
int i=0;
while(t--)
{
scanf("%d",&x);
set<int> s;
m[x] = s;
if(i != 0)
m[prev].insert(x);
prev = x;
}
}
2 ответа
Решение
Ты никогда не меняешься i
так i == 0
когда это делает проверку if(i != 0)
,
Ваша переменная 'i' всегда равна 0.
И вы только вставляете элементы в набор, если 'i' равно!= 0