L'intérêt des templates pour les structures de données est évident ...
Après j'ai du mal à voir l'intérêt d'implémenter une liste chaînée dans un tableau ...
Tu ordonnes tes éléments ? C'est pour parcourir l'ensemble de tes éléments en une seule passe comme avec une liste chaînée sans tester si une case est vide ?
C'est pour éviter les allocations / désallocations mémoires ? Parce que si c'est ça t'as des techniques genre les "memory chuncks" ou memory pool qui sont adaptées, par exemple dans glib : http://www.gtk.org/api/2.6/glib/glib-Memory-Chunks.html - et ça reessemble peut
Parce que pour l'accès rapide,
* soit tu as déja un indice dans le tableau et là c'est la même chose avec un pointeur ou un iterateur sur une liste chainée pour l'accès. Donc ça ne change rien, tableau ou liste.
* soit t'en as pas t'as besoin de rechercher ton élément, et là ce qu'il te faut c'est plus une table de hachage (on se rapproche du tableau), ou un arbre de recherche si tu ordonnes tes éléments (un set en C++ par exemple), sinon t'es obligé de parcourir toute ta liste ou tout ton tableau (et on se ramène au cas de la liste)
Donc la question principale, ça t'apporte quoi d'insérer / supprimer comme dans une liste ? une petite optimisation du temps de recherche ?
[^] # Re: Vala ?
Posté par thoasm . En réponse au journal Tomboy re-écrit en C++. Évalué à 2.
Après j'ai du mal à voir l'intérêt d'implémenter une liste chaînée dans un tableau ...
Tu ordonnes tes éléments ? C'est pour parcourir l'ensemble de tes éléments en une seule passe comme avec une liste chaînée sans tester si une case est vide ?
C'est pour éviter les allocations / désallocations mémoires ? Parce que si c'est ça t'as des techniques genre les "memory chuncks" ou memory pool qui sont adaptées, par exemple dans glib : http://www.gtk.org/api/2.6/glib/glib-Memory-Chunks.html - et ça reessemble peut
Parce que pour l'accès rapide,
* soit tu as déja un indice dans le tableau et là c'est la même chose avec un pointeur ou un iterateur sur une liste chainée pour l'accès. Donc ça ne change rien, tableau ou liste.
* soit t'en as pas t'as besoin de rechercher ton élément, et là ce qu'il te faut c'est plus une table de hachage (on se rapproche du tableau), ou un arbre de recherche si tu ordonnes tes éléments (un set en C++ par exemple), sinon t'es obligé de parcourir toute ta liste ou tout ton tableau (et on se ramène au cas de la liste)
Donc la question principale, ça t'apporte quoi d'insérer / supprimer comme dans une liste ? une petite optimisation du temps de recherche ?