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

SL & STL C++ Discussion :

Mélanger un vecteur


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Par défaut Mélanger un vecteur
    Salut,

    Connaissez vous une fonction pour mélanger aléatoirement l'ordre des points d'un vector. Mon but étant d'éviter qu'une fonction de tri suivant ce mélange ne donne pas systématiquement le même ordre de point si le tri s'effectue selon un critère binaire :

    Un exemple pour être plus clair :

    J'ai 5 points associés soit à la valeur -1 soit à la valeur 1, p1=1 p2=-1 p3=1 p4=-1 p5=1 je vais classer en premier les points à -1 p2 p4, puis les points à 1 p1 p3 p5, mais je ne veux pas reproduire d'une fois sur l'autre l'ordre p2 p4 et p1 p3 p5...

    Merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    J'imagine que tu peux toujours le faire en deux fois avec un std::random_shuffle suivi d'un std::stable_sort, mais il y a peut-être plus subtil/simple.

    MAT.

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Par défaut
    Merci beaucoup ça devrait faire l'affaire, je ne connaissais pas random_shuffle c'est vraiment super la STL...

    Mais je ne comprends pas pourquoi j'aurai besoin d'un stable_sort au lieu du sort normal. Y a t-il une raison pour laquelle mes éléments mélangés se remettraient dans un certain ordre en les triant ? Pour info mon vecteur est un vecteur de pointeurs d'objets sur lesquelles j'ai défini un prédicat de classement personnalisé dépendant de la valeur numérique d'un des attributs de l'objet.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Non tu n'as sans doute pas *besoin* d'un std::stable_sort, un std::sort devrait te donner le résultat escompté.

    MAT.

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Par défaut
    Merci beaucoup ça devrait faire l'affaire, je ne connaissais pas random_shuffle c'est vraiment super la STL...

    Mais je ne comprends pas pourquoi j'aurai besoin d'un stable_sort au lieu du sort normal. Y a t-il une raison pour laquelle mes éléments mélangés se remettraient dans un certain ordre en les triant ? Pour info mon vecteur est un vecteur de pointeurs d'objets sur lesquelles j'ai défini un prédicat de classement personnalisé dépendant de la valeur numérique d'un des attributs de l'objet.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut
    http://r0d.developpez.com/articles/algos-stl/

    et petit truc pour accélérer si ce sont des class que tu veut mélanger
    http://www.developpez.net/forums/sho...d.php?t=448897

Discussions similaires

  1. Mélanger 2 vecteurs de même longueur
    Par ced dans le forum R
    Réponses: 2
    Dernier message: 20/06/2011, 09h11
  2. Bonjour Shuffle (mélanger un vecteur)
    Par Nodoso dans le forum Scheme
    Réponses: 9
    Dernier message: 06/12/2007, 22h13
  3. Récuperer les coordonnées d'un vecteur
    Par kerzut dans le forum OpenGL
    Réponses: 5
    Dernier message: 15/04/2003, 11h51
  4. Zoom sur des vecteurs ou lignes
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 25/11/2002, 10h40
  5. matrices * vecteur
    Par delire8 dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 07/09/2002, 14h15

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