Role of container in priority_queue of C++ STL.
Why vectors are used in container.
And what are advantages and disadvantages if I use deque instead of vector.
| № | Пользователь | Рейтинг |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | Kevin114514 | 3603 |
| 4 | jiangly | 3583 |
| 5 | turmax | 3559 |
| 6 | tourist | 3541 |
| 7 | strapple | 3515 |
| 8 | ksun48 | 3461 |
| 9 | dXqwq | 3436 |
| 10 | Otomachi_Una | 3413 |
| Страны | Города | Организации | Всё → |
| № | Пользователь | Вклад |
|---|---|---|
| 1 | Qingyu | 157 |
| 2 | adamant | 153 |
| 3 | Um_nik | 147 |
| 4 | Proof_by_QED | 146 |
| 5 | Dominater069 | 145 |
| 6 | errorgorn | 142 |
| 7 | cry | 139 |
| 8 | YuukiS | 135 |
| 9 | TheScrasse | 134 |
| 10 | chromate00 | 133 |
Role of container in priority_queue of C++ STL.
Why vectors are used in container.
And what are advantages and disadvantages if I use deque instead of vector.
| Название |
|---|



The design of
std::priority_queueis such that you're allowed to specify which container you want to use to internally represent the priority queue. All it requires is that the container allows for random access, and has thefront,push_backandpop_backfunctions. So bothstd::vectorandstd::dequecan be used as the underlying container.There's not really much of a difference apart from the usual difference between
std::vectorandstd::deque. However, in practice,std::vectortends to be faster.Reference implementations: https://judge.yosupo.jp/submission/56329 (Dijkstra with deque) and https://judge.yosupo.jp/submission/52076 (Dijkstra with vector).