Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les Conteneurs

Sujet résolu
    1 septembre 2018 à 16:09:37

    Bonjours

    Je crée une applis avec la SFML et j'ai besoin d'un tableau dynamique d'objets !!!!!

    Il existe vector ou deque mais le problème, ce que l'on ne peut pas les modifier à notre guise (comme exemple, supprimer un éléments au milieu de notre tableau dynamique).

    J'aie vue que sur ce site, il y a des cours (Les conteneurs et Itérateurs et foncteurs) mais ces cours son complétement dépasser !!!

    Je voudrais donc que vous me donner un site qui explique comment utiliser les conteneurs avec le C++ moderne !!!

    Merci d'avance !!!!!!!!!!

    • Partager sur Facebook
    • Partager sur Twitter
      1 septembre 2018 à 16:39:09

      Lu',

      si l'ordre des éléments n'est pas important, tu as std::swap + pop_back.

      (beaucoup trop de !!!!!!! à mon goût....) 

      • Partager sur Facebook
      • Partager sur Twitter

      Eug

        1 septembre 2018 à 16:56:49

        Salut,

        La bibliothèque standard fournit tous les conteneurs adaptés des structures "classiques":

        • std::vector qui maintiennent les éléments de manière contigue en mémoire
        • std::stack  qui correspond à la pile
        • std::queue qui correspond à la file
        • std::dequeue qui correspond à une file doublement finie (ajout possible aux deux extrémités)
        • std::priority_queue qui correspond à une file avec notion de priorité des éléments
        • std::list qui correspond à la liste doublement chaînée
        • std::set qui correspond à un arbre binaire dont le tri est effectué sur la valeur de l'élément
        • std::map qui correspond à un arbre binaire dont le tri est effectué sur une clé distincte de la valeur de l'élément
        • std::multimap et std::multiset qui sont l'équivalent de std::map et std::set, mais qui autorisent la présence de plusieurs clés identiques
        • std::unordered_map et std::unordered_set qui sont respectivement une std::map et un std::set basé sur une clé de hashage
        • std::unordered_multimap et std::unordered_multiset qui sont l'équivalent de std::multimap et de std::multiset, mais avec des clés de hashage
        • (je crois que je les ai tous cités)

        chacun de ces containers a ses propres avantages et ses propres inconvénients, qui dépendent du concept mis en oeuvre, si bien que le choix du meilleur container dépend surtout de l'usage que tu prévoiras d'en faire

        Tu trouveras les explications spécifiques à chacun de ces types de containers entre autre sur le site cppreference, que je préfères (pour être tout à fait honnête) au site cpp.com, malgré le fait que les informations qu'on y trouve soient sensiblement les même.

        -
        Edité par koala01 1 septembre 2018 à 16:57:10

        • Partager sur Facebook
        • Partager sur Twitter
        Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
          1 septembre 2018 à 16:56:57

          Coucou Eugchiriss

          Désoler te déranger mais:

          Tu pourras m'expliquer comment l'utiliser ???????

          Et merci Koala01 pour ton lien !!!

          -
          Edité par Titicplusplus 1 septembre 2018 à 16:58:08

          • Partager sur Facebook
          • Partager sur Twitter
            1 septembre 2018 à 20:30:38

            ThibaudVincent1 a écrit:

            Il existe vector ou deque mais le problème, ce que l'on ne peut pas les modifier à notre guise (comme exemple, supprimer un éléments au milieu de notre tableau dynamique).

            Difficile de donner un exemple de suppression à votre guise. Mais on peut tout à fait supprimer un élément au milieu d'un deque ou d'un vector.
            Pour supprimer le 5ième élément on n'a qu'à écrire :

            vecteur.erase( vecteur.begin()+4 );

            -
            Edité par Dalfab 1 septembre 2018 à 20:31:04

            • Partager sur Facebook
            • Partager sur Twitter

            En recherche d'emploi.

              2 septembre 2018 à 18:01:59

              Ok et merci à toi aussi Dalfab !!!!!!!!
              • Partager sur Facebook
              • Partager sur Twitter

              Les Conteneurs

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown