OrderedMap.hpp
Vá para a documentação deste arquivo.
1 
6 #ifndef AUX_ORDEREDMAP_HPP_
7 #define AUX_ORDEREDMAP_HPP_
8 
9 #include <ext/pb_ds/assoc_container.hpp>
10 #include <ext/pb_ds/tree_policy.hpp>
11 
12 namespace aux {
13 
23 template<typename K, typename V> class OrderedMap {
24  __gnu_pbds::tree<K, V, std::less<K>,
25  __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update> set;
26  public:
29 
35  inline void Insert(const K &k, V v);
36 
41  inline void Remove(const K &k);
43 
46 
51  inline V& K_th(int k);
52 
57  inline int Count(const K &k);
59 };
60 
61 } // namespace aux
62 
63 #include "OrderedMap.tpp"
64 
65 #endif // AUX_ORDEREDMAP_HPP_
int Count(const K &k)
Contagem de chaves menores ou iguais à k.
void Remove(const K &k)
Remoção de chave.
V & K_th(int k)
Acesso ao k-ésimo elemento.
void Insert(const K &k, V v)
Inserção de par chave-valor.
Mapa ordenado.
Definition: OrderedMap.hpp:23