Existe-t-il un moyen d'implémenter un multimap C++ en Perl?Perl et Multimap
Répondre
Utilisez un hash of arrays.
my %students = (# keys are IDs, values are enrollments
100023 => [qw(Geography Mining)],
100058 => [qw(Geography Geology Woodcraft)],
);
juste pour être précis, vous voulez vraiment un hachage de refs tableau – frankc
Si par multimap vous voulez dire le C++ multimap, alors la réponse est oui. En Perl, une carte correspond à un hachage. La valeur associée à une clé donnée dans le hachage peut être une référence à un hachage. Perl ne nécessite pas non plus d'utiliser ->
après la première opération d'indexation, donc au lieu de dire $h{key1}->{key2}
, vous pouvez juste dire $h{key1}{key2}
ce qui vous donne une illusion convaincante d'un hachage multidimensionnel.
est un exemple:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %h;
my $i;
for my $k (qw/one two three/) {
for my $j (qw/a b c/) {
$h{$k}{$j} = $i++;
}
}
print "one b should be 1: $h{one}{b}\n",
Dumper \%h;
Un hachage Perl correspond en réalité à un C++ unordered_map pas une carte. Contrairement aux hachages Perl et unordered_map, map et multimap sont en réalité des arbres et conservent l'ordre (et n'offrent donc qu'un accès au temps logarithmique au lieu du temps constant). – lwho
- 1. Scala Immuable MultiMap
- 2. problème avec std :: multimap
- 3. multimap accumulent les valeurs
- 4. Multimap contenant des paires?
- 5. Multimap effacement ne fonctionne pas
- 6. Comment optimiser l'effacement à partir de multimap
- 7. Transforme un multimap en ensemble de séries
- 8. J'ai besoin d'un multimap légèrement différent
- 9. Créer un multimap faible avec Google Collections
- 10. valeur de changement à l'intérieur multimap
- 11. Perl, LibXML et Schémas
- 12. Perl Programmation et distribution
- 13. Comment puis-je créer un Multimap en Java sur Android
- 14. Comment trier un MultiMap <k,v> en java?
- 15. stl :: multimap - comment obtenir des groupes de données?
- 16. Comment convertir C++ std :: élément de liste Multimap iterator
- 17. Existe-t-il une implémentation "multimap" en Python?
- 18. Comment "adapter" les foncteurs à utiliser avec map/multimap?
- 19. Retour d'une recherche multimap avec equal_range sans risque d'erreur
- 20. Différences entre Perl et PHP
- 21. NCurses et Perl, des guides?
- 22. Perl et de l'environnement Variables
- 23. Comment obtenir les valeurs clés dans MultiMap Blackberry
- 24. Comment ouvrir() et fermer() STDERR en Perl?
- 25. bibliothèques clientes WebService pour Python et Perl
- 26. XPath boucle avec sélénium et perl
- 27. Grep et extraire des données en Perl
- 28. Perl web app et mod_perl architecture question
- 29. Comment récupérer et analyser HTML avec Perl?
- 30. Perl Dbi et les procédures stockées
Oui. Que recherchez vous exactement? – cjm
En l'état, la question est * très * vague. – Zaid
Je ne suis pas d'accord pour dire que cette question est particulièrement vague ou imprécise, tant que vous connaissez un multimap C++. Le hash de array refs est immédiatement ce que je pensais, et c'était déjà posté. – frankc