begin process at 2012 05 30 19:00:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

tri par insertion dans une liste chaînée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tri par insertion dans une liste chaînée

mardi 20 mars 2007 à 14:38:30 | tri par insertion dans une liste chaînée

titi4659

Bonjour,

j'ai un problème avec une liste chaînée.
j'ai une liste d'element que j'arrive a récupéré mais je souhaiterai que lorsque je récupère un element il soit inséré directement dans la liste chainée et que se soit trié au fur et a mesur pour qu'à la fin je n'obtienne plus que la liste a affiché directement.

je développe en C++.

Si quelqu'un a un pti bout de code a me passer sa serait sympa.

A l'avance merci
mardi 20 mars 2007 à 14:43:42 | Re : tri par insertion dans une liste chaînée

KeniiyK

Membre Club
Salut, ta liste chainée c'est <list> de la STL ?, un conteneur qui tri les objets insérés : <set> (comme les <map> : par defaut bool operator < a implemeter (std::less)  )


:D
mardi 20 mars 2007 à 14:53:45 | Re : tri par insertion dans une liste chaînée

titi4659

Oula, je souhaite pas faire un truc compliqué!
je veux juste que lorsque que j'ai un élément je parcours la liste afin de le placer au bonne endroit, je pense qu'avec une fonction ou mm pas sa doit fonctionné.

Merci quand même
mardi 20 mars 2007 à 15:01:08 | Re : tri par insertion dans une liste chaînée

KeniiyK

Membre Club
il n'ya rien de complique :
#include <set>

class MaClasse
{
public :
....
    bool operator < (const MaClasse& maClasse)
    {
          return _identifiant < maClasse._identifiant;
    }
....
private
    int _identifaint;
};

typedef std::set<MaClasse> SetMaClasse; // optionnel bien sur....

A savoir par contre que tu ne peux pas insérer deux fois le meme objet


:D
mardi 20 mars 2007 à 15:08:14 | Re : tri par insertion dans une liste chaînée

titi4659

sa na va pas aller ta colution alors car il sepeut que j'ai plusieurs fois le mm numéro:

exemple de ma liste :
nom    code_erreur
titi         2
toto      2 
tutu      3

Donc voila ma liste et je veux classé par ordre croissant le code erreur avec le nom associé dans une liste chainée  .

Voila exactement ce que je veux faire.
mardi 20 mars 2007 à 15:09:40 | Re : tri par insertion dans une liste chaînée

KeniiyK

Membre Club
Pardon "deux fois le meme objet" au sens de l'operator <.  
Si maClasse1._identifiant == 3 et maClasse2._identifiant == 3, un seul des deux objets pourra etre inséré.
Si maClasse1._identifiant == 3 on l'insere. maClasse1._identifiant =2 et on l'insere, l'objet est insere 2 fois (mais ce ne sera pas le meme car copie de l'objet).


:D
mardi 20 mars 2007 à 15:11:04 | Re : tri par insertion dans une liste chaînée

KeniiyK

Membre Club
Ok, alors utilise les multimap.

:D
mardi 20 mars 2007 à 15:15:59 | Re : tri par insertion dans une liste chaînée

titi4659

Je pense qu'on doit pas bien se comprendre donc je ré explique :
j'ai une liste d'élement :
nom      code
titi            5
tutu         8
tata         4

ensuite je récupére chaque ligne et je voudrai l'insérer dans une liste chainée mais qui est trié à l'insertion de chaque nouveau objet.

et donc a la fin du dernier element je puisse ré afficher ma liste qui a été trié automatiquement

nom       code
tata         4
titi         5
tutu      8

Merci quand même
mardi 20 mars 2007 à 15:16:45 | Re : tri par insertion dans une liste chaînée

KeniiyK

Membre Club

#include <map>

typedef std::multimap<int, std::string> XXXXX; // ceci semble convenir pour ton exemple

les map sont triées sur la clé (ici int), et les multimap permettent d'avoir plusieurs fois la meme clé.

:D
mardi 20 mars 2007 à 15:17:37 | Re : tri par insertion dans une liste chaînée

KeniiyK

Membre Club
Désolé c'est parce que l'on poste en meme temps....

:D

1 2

Cette discussion est classée dans : liste, tri, insertion, element, chaînée


Répondre à ce message

Sujets en rapport avec ce message

Tri par insertion sur liste simplement chainée [ par Jordy89 ] Bonjour,Dans le cadre de la manipulation d'une liste chaînée, je suis amené à effectuer un tri; Je me suis renseigné à gauche et à droite, et il appar Tri par insertion sur listes simplement chainées [ par ichigoZ710 ] Bonjour, voilà, je vous explique rapidement mon problème, je dois élaborer une procédure de tri par insertion sur une liste qui vient en paramètre de tri insertion langage C et appel de fonction [ par washh ] Bonjour,Je débute en langage C et j'ai écrit l'algorithme du tri d'un tableau contenant des chaines de caractères, mais dès la compilation, le program Liste chainée Template maillon externe [ par Timidouveg ] Bonjour :)Je n'ai pas compris comment fonctionne les template. J'ai cherché des explications sur internet, mais j'avoue que ça m'échappe un peu :sJe s Problème avec liste chainée [ par MasterShadows ] Bonjour à tous ,alors voilà dans le cadre de mon tp de C je dois créer une liste simplement chainée tout ce qu'il y'a de plus générique.donc on nous d tableau de liste [ par kenikun ] Bonjour,J'ai un programme en C avec une liste chainee simple dont voici la declaration :[code]typedef struct Element_{    int map;    char val[4];     Trier une liste chainée [ par ango973 ] Bonjour,J'ai un probleme avec une fonction qui doit me trier une liste chainée selon le nom mais apres le passage dans ma fonction la liste reste iden Deux listes chaînées à comparer et modifier [ par poiuytrez3 ] Bonjour, je suis en train de créer un jeu à la shoot them up. De façon simplifié mon problème est le suivant :j'ai une liste chaînée qui contient des [LangageC]Tri d'une liste chainée d'entiers. [ par sleyze ] Bonsoir, quelqu'un pourrait il me donner une fonction permettant de trier une liste chainée L dans l'ordre croissant en utilisant un tri autre que le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales