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

C++ Discussion :

amelioration de code


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut amelioration de code
    Voici le code suivant.
    La fonction ajout sert a ajouter a sa bonne place un entier dans une liste ordonnée d'entier.
    Il y a pas grand chose, mais je vous remercie si vous pouvez améliorer la syntaxe.

    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
    24
     
     
    typedef multimap<double, int > listes;
     
    void ajout(listes &m,int a){
     listes::iterator p;
     p=m.lower_bound(1);
     while (p->second<a){
     
        p++;}
     
     m.insert(p,listes::value_type(1,a));
    }
     
     
    int main(){
          listes m;listes::iterator p;
         m.insert(listes::value_type(1,8)); m.insert(listes::value_type(1,13)); m.insert(listes::value_type(1,20));
        int a=15;
    ajout(m,a);
     
    }
     
    en l'occurrence, c'est l'entier 15 qu'il ajoute

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Pourquoi ne pas faire une insertion directement ? Quel est l'intérêt de l'itérateur ??

  3. #3
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    mais comment tu lui demande de faire une insertion a la bonne place?
    disons qu'ici les données sont comparables, mais si les données n'étaient pas comparables, et que tu voulais inserer une donnée à la nièeme place, comment ferais tu?

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Une multimap, c'est toujours classé... Mais c'est vrai que chez toi, ça ne sert à rien puisque l'index vaut toujours 1... C'est pas plutôt un multiset dont tu aurais besoin ?

  5. #5
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    je ne sais pas. Peut etre, mais cela n'a pas d'importance. Que ce soit multiset ou multimap je ne vois pas la différence.
    Ce que je veux, s'est introduire des vecteurs dans des listes indexées. Comme les vecteurs ne sont pas comparable, ca n'a pas d'importance.
    Par contre je veux classer en fonction de la premiere composante.
    Comme le montre l'exemple ci dessous.
    ALors je sais pas si L doit etre une multimap ou multiset.
    L[1]=(<1,0.333>;<2,334>;<3,45>;<5,453>)
    L[2]=(<1,343>;<4,545>)
    ...

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Vu ce que tu dis, L doit être rien, un vector suffit, en revanche, les objets stockes doivent être des multimaps ou des multisets, tu as pris le problème à l'envers - L n'a pas besoin de structure particulière dans ton exemple -

Discussions similaires

  1. amelioration de code par un alias
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2009, 09h09
  2. amelioration de code pour eviter select
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/07/2009, 20h26
  3. comment ameliorer ce code?
    Par chrisl0 dans le forum Langage
    Réponses: 1
    Dernier message: 26/02/2009, 02h29
  4. [VBA-E] Amelioration dun code
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 06/06/2007, 13h51
  5. amelioration de code
    Par deubelte dans le forum C++
    Réponses: 18
    Dernier message: 27/12/2006, 14h31

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