Is er een container precies zoals std: map maar niet automatisch gesorteerd?

Is er een alternatieve container met dezelfde functionaliteit als std: map maar de dosis sorteert de inhoud niet automatisch? Als std: map is een "bestelde" container.

Ik heb een probleem met het toevoegen van dingen aan de standaard: mapbalk; De stringlijst wordt automatisch gesorteerd in alfabetische volgorde.

Al het andere in mijn programma werkt prima.

Wat ik me afvraag is of er een container is die exact dezelfde functionaliteit heeft als std: map maar niet is besteld .. dus ik kan een zoekopdracht doen en std vervangen: map met ???: ??

Zoiets?

Bij voorbaat dank --Jynks

2
Dus je wilt items herhalen in dezelfde volgorde waarin je ze hebt geplaatst?
toegevoegd de auteur Matthew, de bron
Ja dat klopt precies
toegevoegd de auteur aJynks, de bron

1 antwoord

Er is een std :: unordered_map container beschikbaar vanaf met C ++ 11. Veel compilers die nog niet volledig compatibel zijn met C ++ 11 ondersteunen dit ook. Deze container bestelt uw artikelen niet op alfabetische volgorde, maar omdat het een associatieve container is, is het niet nodig om de invoegtoepassing (of een andere volgorde) van de artikelen te behouden.

Als u wilt dat een bepaalde volgorde van de items in de container en behouden blijft als een associatieve container (dwz een kaart), kunt u uw eigen container samenstellen als een combinatie van een gekoppelde lijst en een ongesorteerde kaart, vergelijkbaar met Java's LinkedHashMap .

2
toegevoegd