cs_Alucard
Messages postés7Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention 7 septembre 2004
-
16 avril 2004 à 23:40
cs_Alucard
Messages postés7Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention 7 septembre 2004
-
17 avril 2004 à 18:36
Bonjour,
Je me demandais quel était le meilleur choix à faire entre ces 2 systèmes de gestion de suite d'objets en mémoire.
J'hésite un peu car finalement:
Un tableau dynamique est un gros élément qu'il faut caser en mémoire mais tout les élèments sont à la suite les uns des autres...
Une liste chainée est une multitude de petits élèments disséminé en memoire mais ça assure que si on peut trouver un endroit pour mettre les objets, on les mets.
Alors voilà, une liste chainé, c lourd à gérer, lent mais casable en mémoire alors qu'un tableau dynamique est plus rapide, et c'est un tableau donc plus facile de jouer dessus.
Si j'ai tord arreter moi ici.
Alors voici ma question, j'ai des objets de taille maximal 1ko, vaut-il mieux que je les stock sous forme de liste chainé ou sous forme de tableau sachant que je ne sais pas réellement quel est le nombre max d'éléments que je peux avoir, on va dire 1000 pour le moment?
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 17 avril 2004 à 11:24
Les listes chainees sont tres simple a programmer, en plus je ne pense pas que la perte de temps aye plus de valeur que sa souplesse, tu peut en rajouter autant que tu veux. Deplus tu alloues juste la memeoire necessaire, alors que si tu fais un tableau, tu gache de la memoire. De plus avec une liste tu peux retirer (enlever) un element vite fait bien fait, alors qu'avec un tableau tu sera obliger de brasser ta memoire.
Donc moi je te conseil plutot les listes.
En plus allouer 1Mo en paquet de 1Ko est largement faisable, mais aussi 1Mo d'un coups, mais c'est moins bien ...
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 17 avril 2004 à 11:42
Sauf que avec des listes chainées on gache aussi de la mémoire, puisque on doit stocker n, voire 2n pointeurs supplémentaires pour une liste de n éléments. Mais en l'occurence puisque les éléments font 1 ko, les 8 octets occupés par les pointeurs sont négligeables.
Par contre, si tu as souvent besoin d'accéder au nième élément de ta structure, c'est une structure en tableau qu'il faut choisir, car avec une liste chainée, tu dois explorer les (n-1) premiers éléments
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 17 avril 2004 à 14:05
C'est vrai, en plus effectivement j'avais pas pense avec mes pointeurs next et prev, mais bon il faut choisir entre les deux methodes selon l'usage, si tu doit faire des trucs a taille indetermine, fais les listes (il existe des exceptions bien sur).
Vous n’avez pas trouvé la réponse que vous recherchez ?