Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1726 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  STL utilisation de merge() pour des listes [resolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

STL utilisation de merge() pour des listes [resolu]

n°1391175
Amonchakai
Posté le 20-06-2006 à 09:54:51  profilanswer
 

Bonjour, bon j'ai un petit problème avec la méthode merge() : déjà je vois pas trop ce qu'elle fait... en effet j'ai vu qu'elle est sencé trier la liste courante et ensuite elle rajoute les éléments de la liste passée en argument en les intercalants...
mas voilà j'ai essayé ça :

Code :
  1. #include <iostream>
  2. #include <list>
  3. int main(int argc, char *argv)
  4. {
  5. std::list<int> liste1;
  6. liste1.push_front(20);
  7. liste1.push_front(10);
  8. liste1.push_front(30);
  9. liste1.push_front(5);
  10. std::list<int> liste2;
  11. liste2.push_front(15);
  12. liste2.push_front(25);
  13. liste2.push_front(7);
  14. liste2.push_front(17);
  15. liste1.merge(liste2);
  16. std::list<int>::iterator itera;
  17. for(itera = liste1.begin() ; itera != liste1.end() ; itera++)
  18.     std::cout<<*itera<<" ";
  19. std::cout<<std::endl;
  20. return 0;
  21. }


et là à la sortie il me sort : 5 17 7 25 15 30 10 20
hum ils sont pas vraiment triés...  
(je sais que si je fait sort() ils vont l'être mais ils n'étaient pas sencé l'être avant ?)
 
ensuite ma deuxième question est que la methode merge est surchargée et que c'est aussi :

Code :
  1. template <class Compare>
  2. void merge(list<T> & x, Compare comp);


 
je vois pas trop comment on utilise ça... j'avais essayé ça :

Code :
  1. class comparaison
  2. {
  3.     public:
  4.     bool operator()(int a, int b)
  5.     {
  6.         return (a>b);
  7.     }
  8. };
  9. liste1.merge(liste2, comparaison());


mais ça marche pas...
donc voilà si vous pouvez m'aider ça serait sympa... :)

Message cité 1 fois
Message édité par Amonchakai le 20-06-2006 à 10:59:35
mood
Publicité
Posté le 20-06-2006 à 09:54:51  profilanswer
 

n°1391181
_darkalt3_
Proctopathe
Posté le 20-06-2006 à 10:04:29  profilanswer
 

Amonchakai a écrit :

j'ai vu qu'elle est sencé trier la liste courante et ensuite elle rajoute les éléments de la liste passée en argument en les intercalants... (...) (je sais que si je fait sort() ils vont l'être mais ils n'étaient pas sencé l'être avant ?)


 
source ?
 
ici, c'est écrit que les éléments doivent être triés avant le merge - pas qu'elles seront triées après le merge:
http://www.sgi.com/tech/stl/List.html

n°1391188
Amonchakai
Posté le 20-06-2006 à 10:12:15  profilanswer
 

ha bon...  
bon pour ma source c'est un fichier .pdf que j'ai enregistré donc...
mais en même temp j'ai vu sur MSDN ça : http://msdn2.microsoft.com/en-us/library/ec0yw4kc.aspx
ils disent pas que merge() trie la liste (c'est peut-être mon anglais qui est pas très bon...)
par contre je suis d'accord avec toi que vu le liens que tu m'a donné ils disent que les deux listes doivent être triées...

n°1391207
Amonchakai
Posté le 20-06-2006 à 10:28:28  profilanswer
 

j'ai retrouvé la source !!!
voilà c'est là que je l'ai trouvé : http://www.chez.com/brunogarcia/


Message édité par Amonchakai le 20-06-2006 à 10:48:37
n°1391216
Taz
bisounours-codeur
Posté le 20-06-2006 à 10:34:25  profilanswer
 

si tu veux de l'aide, tu nous donne un code concis et compilable. Pas des liens. Sinon t'écris à brunogarcia et ça sera sans nous.

n°1391241
Amonchakai
Posté le 20-06-2006 à 10:59:04  profilanswer
 

Ok, désolé...
 
mais c'est bon j'ai fini par trouver.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  STL utilisation de merge() pour des listes [resolu]

 

Sujets relatifs
Question utilisation phpdocumentorSTL ajouter des éléments dans un vector
[Resolu]Probleme de JScrollPane et JtextArea[ADO .NET][RESOLU] Remplir un DataGridView avec un Datareader ?
[résolu]Probleme sous Visual Studio avec FILE[PHP] [RESOLU] problème de filtre sur la date dans requête
[Resolu] Syntax error, requete mysql depuis java[RESOLU] Comment reconnaître un apostrophe???
[Access] [résolu] problème de rechercheutilisation de COUNT()
Plus de sujets relatifs à : STL utilisation de merge() pour des listes [resolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR