Вставка в карту<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

Другие вопросы по тегам