set (ou map) pour classer par ordre alphabetique des noms

set (ou map) pour classer par ordre alphabetique des noms - C++ - Programmation

Marsh Posté le 12-05-2003 à 22:25:53    

Vous recommandez comme clé pour classer un set par ordre alphanumérique ?
(d'ailleurs j'ai remarqué au debuggeur que parfois les strings apparaissent comme des nombres, et qu'en les castant en string ca redevient comment il faut => c'est quoi ces nombres ?)

Reply

Marsh Posté le 12-05-2003 à 22:25:53   

Reply

Marsh Posté le 12-05-2003 à 22:31:12    

ben c'est pas la meme chose. celà dit, si tu as juste besoin d'une collection ordonnée, ben le std::set de std::string bien entendu (et gardes tes cast C pour toi ok, pas de char* merci)

Reply

Marsh Posté le 12-05-2003 à 22:34:20    

et ca ordonne tout seul comme un grand ? :love:
pour le cast je le faisais au débuggueur parce qu'il apparaissait comme des nombres (:??:) et je voulais savoir pkoi (et c'était pas une adresse mémoire)

Reply

Marsh Posté le 12-05-2003 à 22:36:56    

tu as un std::set<std::string> et std::multiset<std::string>
 
le deuxieme, admet les valeurs multiples

Reply

Marsh Posté le 12-05-2003 à 22:37:47    

ca roule pour le premier, j'ai pas besoin de multiset :)

Reply

Marsh Posté le 12-05-2003 à 22:38:20    

tu m'as toujours pas rassuré, tu utilises bien les std::string?

Reply

Marsh Posté le 12-05-2003 à 22:39:23    

++Taz a écrit :

tu m'as toujours pas rassuré, tu utilises bien les std::string?

ouais :D
Mais je voulais être sur que l'opération < était défini pour les string :)


Message édité par joce le 12-05-2003 à 22:39:30
Reply

Marsh Posté le 12-05-2003 à 22:41:30    

il l'est. cela dit le deuxième argument de std::set est un comparateur, qui est par défaut less<T>

Reply

Marsh Posté le 12-05-2003 à 22:44:19    

++Taz a écrit :

il l'est. cela dit le deuxième argument de std::set est un comparateur, qui est par défaut less<T>

je sais :) c'est pour ca que je demandais ca j'avais à définir l'opérateur ou non :)

Reply

Marsh Posté le 12-05-2003 à 22:47:31    

check http://www.sgi.com/tech/stl/set.html
 
avec les lower, upper et equal bound
 
et les opérations externes set_difference, set_intersection, set_symmetric_difference, set_union

Reply

Marsh Posté le 12-05-2003 à 22:47:31   

Reply

Marsh Posté le 13-05-2003 à 08:14:19    

en fait je fais avoir besoin d'une map dont la clé sera le std::string, mais je comprends pas trop un truc :
 
http://www.sgi.com/tech/stl/Map.html
 
 
pkoi il utilise un const char* dans l'exemple + une fonction de comparaison plutôt qu'une string :??:

Reply

Marsh Posté le 13-05-2003 à 09:50:07    

ben pour montrer comment faire son propre comparateur, mais t'occupe, mets tes std::string, le comparateur par défaut sera less, et tout roulera (map et set on la meme implémentation)


Message édité par Taz le 13-05-2003 à 09:50:28
Reply

Marsh Posté le 13-05-2003 à 09:55:45    

++Taz a écrit :

ben pour montrer comment faire son propre comparateur, mais t'occupe, mets tes std::string, le comparateur par défaut sera less, et tout roulera (map et set on la meme implémentation)

ouais c'est ce que j'ai fait de toute facon, j'allais pas me compliquer la vie ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed