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

Qt Discussion :

Tri de plusieurs QStringList


Sujet :

Qt

  1. #1
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut Tri de plusieurs QStringList
    Bonjour,

    J'ai un fichier texte qui se compose de n lignes. Chaque lignes de se composent de différentes informations séparées par des ; .
    Je récupère ces informations dans différentes QStringList mais je rencontre un problème par la suite...
    Je dois effectuer un tri sur 3 listes (première deuxième et cinquième liste), mais comment faire pour que les autres listes soit triées suivant ces tris (oulah est-ce-que c'est clair là... )

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      Liste A |   Liste B |   Liste C |   Liste D |   Liste E |   Liste F | 
         1    |      B    |      1    |      1    |      8    |      1    |  -- Cette ligne est troisième
         8    |      E    |      1    |      2    |      7    |      1    |  -- Denrière ligne
         2    |      A    |      2    |      1    |      1    |      5    |  -- Cette ligne est quatrième
         1    |      A    |      1    |      1    |      4    |      1    |  -- Cette ligne est deuxième
         1    |      A    |      1    |      1    |      2    |      1    |  -- Cette ligne devient la première
    Est-ce plus clair?

    Merci pour votre aide.
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 218
    Points : 55
    Points
    55
    Par défaut
    Effectivement ça mériterait des explications complémentaires. Si j'ai bien compris, tu cherches à trier une liste et trier les autres listes en fonctions des modifications faites sur la première?
    Exemple: si j'intervertis les lignes 1 et 2 de la première liste, alors j'intervertis les lignes 1 et 2 de la liste 2. C'est ça?
    Si c'est le cas je vois 2 méthodes plus ou moins propres:
    Au lieu de séparer en 5 listes, faire une liste de structures contenant les information de ta ligne. Puis trier les structures en fonctions du premier objet.

    Sinon, quand tu trie ta première liste, tu peux toujours effectuer les mêmes opérations sur chaque listes. Quand tu fais ta boucle if pour vérifier si tel entier est supérieur à un autre, tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(liste1.at(i)>liste1.at(j))
    {
    //Si la condition est vraie, alors on permute les élément de la liste 1 ET DE LA LISTE 3
     variabletemporaire = liste1.at(i);
    variabletemporaire2 = liste3.at(i);
    liste1.at(i) = liste1.at(j);
    liste3.at(i) = liste3.at(j);
    liste1.at(j) = variabletemporaire ;
    liste3.at(j) = variabletemporaire2 ;
    }
    Si c'est pas ça alors j'ai pas compris ce que tu voulais

  3. #3
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Si c'était ce que je voulais, j'ai finalement fais une liste.
    J'ai concaténé les colonnes dans l'ordre de mon tri, c'est-à-dire que si je voulais un tri sur la colonne 1 puis 3 puis 4 j'ai fait:

    colonne1-colonne3-colonne4-colonne2-colonne5-...

    Et en faisant un tri sur cette QStringList j'obtiens le résultat souhaité.

    Merci quand même pour ton aide.
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL SERVER ] Tri sur plusieurs champs
    Par fantomchris dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/07/2006, 17h59
  2. Comment faire un Tri sur plusieurs champs
    Par guile153 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/07/2006, 12h52
  3. Tri sur plusieurs colonnes
    Par soso78 dans le forum Access
    Réponses: 2
    Dernier message: 04/03/2006, 15h28
  4. [HashMap] Tri sur plusieurs valeurs
    Par cosmos38240 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 03/01/2006, 14h14
  5. [Collection] Tris sur plusieurs champs
    Par partyboy dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 12/07/2005, 16h56

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