Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2119 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C / C++] Les Collections

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C / C++] Les Collections

n°1105499
Spir
Words are timeless
Posté le 02-06-2005 à 15:16:34  profilanswer
 

Les collections en C++. Quel est la meilleur option pour stocker une collection d'objet?

  • Liste chainé (avec un objet + pointeur suivant précédent).
  • Tableau d'obejt, mais souci avec la taille du tableau, obligé de redéclarer un tableau plus grand dès que le tableau est rempli.


Quel est la meilleur solution selon vous?
Y en a t'il d'autre?

mood
Publicité
Posté le 02-06-2005 à 15:16:34  profilanswer
 

n°1105568
blackgodde​ss
vive le troll !
Posté le 02-06-2005 à 15:34:05  profilanswer
 

les conteneurs de la stl dont
std::list, std::vector
http://www.sgi.com/tech/stl/


---------------
-( BlackGoddess )-
n°1106273
HelloWorld
Salut tout le monde!
Posté le 02-06-2005 à 22:48:26  profilanswer
 

Le choix de ton conteneur dépend de comment tu accèdes à tes objets.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1106285
chrisbk
-
Posté le 02-06-2005 à 23:05:59  profilanswer
 

j'aime bien std:: deque [:el g]


Message édité par chrisbk le 02-06-2005 à 23:06:23

---------------
NP: HTTP Error 764 Stupid coder found
n°1106358
Taz
bisounours-codeur
Posté le 03-06-2005 à 00:09:57  profilanswer
 

moi aussi

n°1108956
Spir
Words are timeless
Posté le 05-06-2005 à 20:22:13  profilanswer
 

Ouais...
J'ai beaucoup fait de java donc je pense utilisé la calsse Vector...
http://seesar.lbl.gov/anag/chombo/ [...] ource.html

n°1108969
magalie63
Posté le 05-06-2005 à 20:39:29  profilanswer
 

Spir a écrit :

Les collections en C++. Quel est la meilleur option pour stocker une collection d'objet?

  • Liste chainé (avec un objet + pointeur suivant précédent).
  • Tableau d'obejt, mais souci avec la taille du tableau, obligé de redéclarer un tableau plus grand dès que le tableau est rempli.


Quel est la meilleur solution selon vous?
Y en a t'il d'autre?


 
il me semble que le container collection existe dans la stl si ton besoin est une simple collection (non indexé, non ordonné, non trié).

n°1108998
Taz
bisounours-codeur
Posté le 05-06-2005 à 21:03:18  profilanswer
 

non ça n'existe pas.

n°1109011
magalie63
Posté le 05-06-2005 à 21:32:52  profilanswer
 

Taz a écrit :

non ça n'existe pas.


 
exacte, erreure car je bosse avec une stl redéveloppée donc avec collection.
si tu n'as pas de duplicat, prends un set.

n°1109017
chrisbk
-
Posté le 05-06-2005 à 21:44:35  profilanswer
 

j'aurais tendance a dire qu'on prends un set si on ne veut pas de duplicat, pas l'inverse


---------------
NP: HTTP Error 764 Stupid coder found
mood
Publicité
Posté le 05-06-2005 à 21:44:35  profilanswer
 

n°1110188
Spir
Words are timeless
Posté le 06-06-2005 à 19:23:04  profilanswer
 

Les vecteurs c'est impec nan? Il et ou le problème? C'est un peu comme les vecteurs en Java?

n°1110201
bjone
Insert booze to continue
Posté le 06-06-2005 à 19:33:02  profilanswer
 

le vector c'est bien pour stoquer un collection de données stable une fois arrivé à un certain point.
=> l'insertion au début/milieu lente, mais l'accès aléatoire et le parcourt du début et à la fin est on pas faire mieux.
etc... etc...
 
moi j'utilises pas mal de hash_map pour mes collections de ressources, textures, modèles, tu ce qui est identifié par un chemin (en std::string ou en boost::filesystem:: path) etc... etc...


Message édité par bjone le 06-06-2005 à 19:33:11
n°1110205
bjone
Insert booze to continue
Posté le 06-06-2005 à 19:37:55  profilanswer
 

bref il faut que tu connaisses le profil de création/suppression d'objets de ta collection, accès séquentiel ou alétoire, critère de vitesse de recherche, etc, etc....
 
pour en revenir à ce que tu ferais pour un moteur 3D de jeu, les ressources textures, sons, modèles & co, sont en hash_map<std::string,...>, les entitées crées/détruites à haute fréquence sont dans une (double) liste chainée (donc list<> ), et triangles/vertex d'un modèles tu les fous dans un vector.

n°1110246
Spir
Words are timeless
Posté le 06-06-2005 à 20:23:26  profilanswer
 

Nan moi c'est pour un logiciel de gestion tout bête.
Pour gérer des objets. En fait je fait un outil de gestion d'une bibliothèque.
Donc dans mon vector je stock des objets de type 'emprunteur', 'ouvrage'. Plusieur colelction en fait pour gérer ma bibliothèque.

n°1110328
Spir
Words are timeless
Posté le 06-06-2005 à 21:24:45  profilanswer
 

Je suis allé voir ici apparement c'est pas comme enjava. je dois gérer la taille du vecteur...
Ce n'est donc pas forcémnt + intéressant qu'un tableau?

n°1110435
bjone
Insert booze to continue
Posté le 06-06-2005 à 23:22:56  profilanswer
 

bah un tableau c'est statique :D
 
et la gestion de la taille d'un vector, c'est optionel, t'as push_back() qui t'agrandi le conteneur pour toi.

n°1110504
Taz
bisounours-codeur
Posté le 07-06-2005 à 00:58:01  profilanswer
 

vive std::tr1::unordered_map<>

n°1110530
el muchach​o
Comfortably Numb
Posté le 07-06-2005 à 08:19:15  profilanswer
 

Spir a écrit :

Les vecteurs c'est impec nan? Il et ou le problème? C'est un peu comme les vecteurs en Java?


 
Si tu insères des données au début ou au milieu de tes vector, tu vas vite comprendre le pb.
En l'occurence, pour un logiciel de gestion type bibliothèque,le type vector n'a pas d'intérêt, vu que tu vas faire des insertions/suppression, et que tu vas sans doute accéder aux objects par autre chose qu'un simple numéro (à par l'ISDN, mais tu ne vas pas le stocker sur des entiers consécutifs).


Message édité par el muchacho le 07-06-2005 à 08:23:50
n°1110648
bjone
Insert booze to continue
Posté le 07-06-2005 à 10:28:37  profilanswer
 

Taz a écrit :

vive std::tr1::unordered_map<>


connaissais po...

n°1110932
Spir
Words are timeless
Posté le 07-06-2005 à 12:37:19  profilanswer
 

el muchacho a écrit :

Si tu insères des données au début ou au milieu de tes vector, tu vas vite comprendre le pb.
En l'occurence, pour un logiciel de gestion type bibliothèque,le type vector n'a pas d'intérêt, vu que tu vas faire des insertions/suppression, et que tu vas sans doute accéder aux objects par autre chose qu'un simple numéro (à par l'ISDN, mais tu ne vas pas le stocker sur des entiers consécutifs).


Tu me conseil quoi du coup?
std::tr1::unordered_map<> ??

n°1111545
Spir
Words are timeless
Posté le 07-06-2005 à 17:25:56  profilanswer
 

help

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C / C++] Les Collections

 

Sujets relatifs
Probleme avec Collections.sort(List<T> list)liste des collections vba excel
possible de stocker des Structures dans des Collections ? [RESOLU]Est-il possible de manipuler des collections comme avec VB ?
[VB] Les collections sont-elles case sensitive ? 
Plus de sujets relatifs à : [C / C++] Les Collections


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)