nguray a écrit :Que pensez vous de la possibilité de pouvoir mettre une liste dans une structure.
ex:
struct El
.
.
endstructure
structure
.
.
newlist malist.El()
endstructure
La syntaxe est à définir..

Tel que les listes chainées sont abordées sous PB, il n’est –à mon avis- pas possible de réaliser cette fonctionnalité.
En effet, en créant une liste chainée « MaList() » via NewList, on crée une liste qui est un objet par essence global.
Aussi, s’il etait permis de pouvoir définir une structure contenant une liste chainée, chaque nouvelle variable déclarée du type de la dite structure, travaillerait sur la meme liste chainée, ce qui n’est pas vraiment le résultat recherché…
Dans l’état actuel, le moyen pour y arriver tout en conservant les Listes chaînées de PB serait de déclarer toutes les Listes chaînées dont tu as besoin et de faire référence à celle qui t’intéresse dans la structure en y stockant son adresse.
Le gros inconvénient de cela c’est qu’il faut déclarer par avance l’ensemble des listes chainées dont tu auras besoin.
Malgré tout, la philo PB des listes chainées est intéressant à mon goût pour sa simplicité d’utilisation :
On crée un objet MaList() que l’on manipule par la suite. Difficile de faire plus simple !
Du coup tout le monde peut facilement et rapidement s’en servir.
Pour plus de fonctionnalité, la seule possibilité que je vois (et je te renvois alors sur le forum anglais pour des exemples de linkedlist alternatives), serait de ne plus travailler avec un objet MaList(), mais avec l’adresse d’entete de la liste chainée, là où les informations sur la taille, le premier, le dernier élément, etc… de la liste sont stockées.
Cette approche est différente de celle prise pour les listes chainées standards PB, car un plus complexe à manipuler bien que rien de bien méchant.
Comme je le comprends, changer de philo signifierait retravailler l’ensemble des commandes actuelles et perdre la compatibilité ascendante.
Or, rien ne t’empêche d’utiliser ta propre liste chainée comme celle-ci par exemple:
http://purebasic.myforums.net/viewtopic ... ght=lldata
Nul doute que tu y trouveras ton bonheur...
A+