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 :

[STL]Recuper & Supprimer un element au milieu d'une liste.


Sujet :

SL & STL C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 140
    Points
    140
    Par défaut [STL]Recuper & Supprimer un element au milieu d'une liste.
    Bonjour,

    Je cherche à savoir si il existe deux fonctions dans la STL sur les listes pour :
    - renvoyer
    - supprimer
    un élément se situant à une certaine position dans la liste.

    Et connaitriez vous un site référençant touts les prototypes de fonctions de la stl (si possible en français).

    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Points : 410
    Points
    410
    Par défaut
    Bonjour,

    Tu peux toujours te référer au mégacours sur les conteneurs.

    A mon avis ça ne te fera pas trop de mal de lire un petit peu plus avant. Car en général, lorsque l'on veut accéder à une liste par son numéro (si c'est ce que tu entend par position), c'est soit qu'on a affaire à un problème très compliqué, soit qu'on a pas forcément eu raison de choisir une liste comme conteneur.

    Bonne journée et bonne chance.

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Pour la doc :
    http://c.developpez.com/faq/cpp/?pag...ERALITE_cppdoc

    Effectivement manipuler une liste avec des indices n'est souvent pas une bonne idée. En général on peut trouver une meilleure solution, comment calcules-tu ton indice ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 140
    Points
    140
    Par défaut
    Un mot sur le cadre : en faite c'est dans l'idée d'un jeux de plate forme à la mario avec une longue map et des monstres dessus. Je créais une liste avec les monstres selon leur ordre d'apparition en abscisse. Mais selon les actions du joueurs des monstres peuvent apparaitre.

    Pour cela je dispose d'une liste de bebete et je n'affiche que celle qui correspondent à ce que le joueur peut voir (par exemple si il se trouve entre le 800 et le 1280 pixels, je ne veux afficher que ceux dont l'abscisse seront dans cette fourchette).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class bebete{
    private :
          int uid ; //sert pour le debug
          int vie ;
          int positionX ;
          int positionY ;
     
    public :
          //code inintéressant avec les constructucteurs & les accesseurs    
          bool vivant?(){
            if (vie <= 0) return true ; else return false ;
          };
    }
    J'aimerais pouvoir supprimer les bebetes de la liste dès lors qu'elle sont mortes et renvoyer les informations de chaque bebetes présentes à l'écran afin de vérifier si elles réagissent comme il faut aux évènements.

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Et pourquoi te retrouves-tu avec des indices ? Si tu boucles sur ta liste pour faire des tests, tu peux récupérer des itérateurs directement, et là tu peux utiliser erase() pour supprimer les élément.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 140
    Points
    140
    Par défaut
    En faite les indices c'était pour moi les iterateurs.
    Ils renvoient une position dans la liste donc un indice, enfin je voyais la chose comme ça. Mais je viens de comprendre que ça porte confusion.

    Je m'en excuse.

    Erase correspond tout à fait à ce que je souhaites après pour recuperer le i eme élement j'ai juste a déplacer un iterator et il fera office de pointeur sur l'element.

    Merci encore.

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

Discussions similaires

  1. [SP-2010] Supprimer les Actions par défaut sur une liste externe
    Par mrkinfo dans le forum SharePoint
    Réponses: 2
    Dernier message: 21/03/2013, 15h36
  2. [MySQL] supprimer un enregistrement a partir d'une liste déroulante
    Par maliboo dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/03/2010, 00h41
  3. Supprimer le retour à la ligne après une liste deroulante
    Par kobe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 30/08/2006, 13h34
  4. Réponses: 1
    Dernier message: 26/06/2006, 17h29

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