Liste chainé - Tableau dynamique

Signaler
Messages postés
7
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
7 septembre 2004
-
Messages postés
7
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
7 septembre 2004
-
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?

Alucard }:)

5 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
1000 de 1ko ? attend tu crois que tu risque saturation?

utilise plutot un tableau si tu ne compte pas profiter des avantages que presentent une list sur la gestion des elements
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
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 ...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
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
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
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).
Messages postés
7
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
7 septembre 2004

Merci beaucoup de tous ces renseignements, je pense que je vais alors opter pour une liste chainée
@+
Alucard }:)