Я впервые использую C ++ STL priority_queue()
, и я немного озадачен этим конкретным фрагментом кода, с которым я столкнулся (но я считаю, что это не имеет ничего общего с pq, и это должно быть применимо ко всем контейнерам (вектор, наборы и т. д.)):
priority_queue<pair<int, pair<int, int> >,
vector<pair<int, pair<int, int> > >,
greater<pair<int, pair<int, int> > > > pq;
Допустим, у меня есть pq.push_back(make_pair(a,make_pair(b,c)))
.В случае столкновения a
правило сравнения будет распространяться на вторую пару, а сортировка будет выполняться на основе b
, а затем c
?