IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Problème pour trier (par insertion) une liste chainée


Sujet :

Delphi

  1. #21
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 64
    Points
    64
    Par défaut
    Bon, me reste assimiler le code parfaitement,

    A virer les EXIT (je preferes sans) car je risque d'etre intrrogé sur ce bout de code, je capte parfaitement le principe du tri mais le jonglage entre les lequel... c'est chaud.

    De toutes facon meme si j'aurais 2 profs d'informatiques, je pense pas qu'ils ingurgite l'algo en 10min :p

  2. #22
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 64
    Points
    64
    Par défaut
    Ca trie pas

    C'est m'enerve, ca fait depuis hier soir, toutes la nuit... que je suis dessus c'est dingue, avec mes 2 petites listes, ca passe, mais avec ma big liste, ou tous les cas doivent etre representés, bein ca foire

  3. #23
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par gregb34
    Ca trie pas
    Je t'assure que sur le PC, là, devant moi, ça trie
    Tu as repris ce que je vient de t'envoyer.

    vérifie bien que tes pointeurs suivant et précédents sont corectement à nil (où ne le sont pas)

  4. #24
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 64
    Points
    64
    Par défaut
    Bein gros copier-coller.

    Comme je te dis, avec les petites listes que j'ai ca semble marcher mais quand je teste avec la grosse (60 000 enregistrements, ou tous les cas doivent être representés, bein ca foire....)

    La liste original, s'affiche nickel, je vais essayer de l'afficher à l'envers pour voir si toutes fois les lien precedent ne foire pas, mais je pense pas....

    EDIT : L'affiche inversée de la chaine marche nickel. Je comprend vraiment pas

    Je te passerais bien mon jeux d'essai mais c'est tendu.

    Quoique, si je te file, chacunes des pages/compteurs dans un fichier TXT...

  5. #25
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 64
    Points
    64
    Par défaut
    Si tu es chaud

    J'ai généré mon jeux d'essai dans un fichier TXT.

    Le truc est structuré comme suit :

    la_page**sep**son_compteur

    **sep** etant le separateur.

    Il suffit juste de parcours le fichier ligne par ligne et de se reconsiturer le jeu d'essai.

    Je suis desolé de t'embeter.

  6. #26
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Ouai, il manquais deux lignes, j'avais pas vu tout mon listing, là ça marche enfin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    procedure insert(var tete_top,ApresQuoi,Lequel : pointeur_ligne_top);
    begin
      if tete_top=nil
      then begin
               tete_top:=Lequel;
               exit;
             end;
      Lequel ^.precedent:=ApresQuoi;
      if ApresQuoi=nil
       then begin   { insertion début de liste}
                 Lequel ^.suivant:=tete_top;
                 tete_top^.precedent:=Lequel;
                 tete_top:=Lequel;
                 exit;
              end;
      //insertion normale
      Lequel^.suivant:=ApresQuoi^.suivant;
      Lequel^.precedent:=ApresQuoi;
     
      ApresQuoi^.suivant:=Lequel;
      Lequel^.suivant^.precedent:=Lequel;
    end;
    Merci pour les données, je me suis fait un csv.

    Je te poste mes sources...
    Fichiers attachés Fichiers attachés

  7. #27
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 64
    Points
    64
    Par défaut
    MERCI bcp, ca marche nickel.

    Je vais essayer "d'arranger ca" pour que j'y vois plus clair

    THANKS ENCORE !!!!!!!!!!!!!

  8. #28
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    Citation Envoyé par waskol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        objet_top_min := objet_top_min.suivant;
    J'écrirais plutôt ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objet_top_min := objet_top_min^.suivant;
    non c'est la meme chose

  9. #29
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 64
    Points
    64
    Par défaut
    C'est certe la meme chose mais il vaut mieux avoir de bonne habitudes, le ^ fait part de ces habitudes. Enfin je pense :p

Discussions similaires

  1. [AC-2007] Problème d'ajout par rapport à une liste déroulante
    Par kemche dans le forum IHM
    Réponses: 9
    Dernier message: 17/12/2013, 17h23
  2. trier par nom une liste de fichier
    Par Anubis dans le forum Langage
    Réponses: 14
    Dernier message: 15/02/2008, 15h04
  3. Réponses: 10
    Dernier message: 08/12/2006, 02h18
  4. Réponses: 8
    Dernier message: 03/12/2006, 17h46
  5. [JSP] Trier par date une liste de fichier en JSP
    Par Total dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 21/02/2006, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo