Std :: map, która śledzi kolejność wstawiania?
Obecnie mamstd::map<std::string,int>
który przechowuje wartość całkowitą do unikalnego identyfikatora ciągu, i szukam z ciągiem. Robi to głównie to, czego chcę, z wyjątkiem tego, że nie śledzi kolejności wstawiania. Kiedy więc iteruję mapę, aby wydrukować wartości, są one sortowane według ciągu; ale chcę, aby były sortowane według kolejności (pierwszej) wstawki.
Myślałem o użyciuvector<pair<string,int>>
zamiast tego, muszę wyszukać ciąg i zwiększyć wartości liczb całkowitych o 10 000 000 razy, więc nie wiem, czystd::vector
będzie znacznie wolniejszy.
Czy istnieje sposób na wykorzystaniestd::map
czy jest innystd
pojemnik, który lepiej pasuje do mojej potrzeby?
[Jestem w GCC 3.4 i prawdopodobnie nie mam więcej niż 50 par wartości w moimstd::map
].
Dzięki.