Des Listes dans les structures

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
nguray
Messages : 11
Inscription : lun. 20/déc./2004 23:17

Des Listes dans les structures

Message par nguray »

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.. :)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Et que penses tu de la possibilité que ce soit déjà possible. :D
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

nico a écrit :Et que penses tu de la possibilité que ce soit déjà possible. :D
:?:
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Vi...
Comment tu fais ça, Nico???? 8O
nguray
Messages : 11
Inscription : lun. 20/déc./2004 23:17

Message par nguray »

C'est vrai ?
Comment fait on ?
La doc est vraiment incomplète alors.
8O
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

On parle bien d'associer une structure à une liste où j'ai pas bien compris.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Non!!. Creer une liste dans une structure
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oups , j'ai pas bien lu :roll:
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Ce qui est sûr, c'est qu'on peut facilement avoir des structures variables en utilisant des pointeurs.

Je pense que l'on peut relier une liste chainée à une structure de cette façon, mais j'ai rencontré un bug (peut-être) que j'ai posté.

Je vais attendre la correction(si bug) pour posté un code.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

nico a écrit :Ce qui est sûr, c'est qu'on peut facilement avoir des structures variables en utilisant des pointeurs.

Je pense que l'on peut relier une liste chainée à une structure de cette façon, mais j'ai rencontré un bug (peut-être) que j'ai posté.

Je vais attendre la correction(si bug) pour posté un code.
Je viens de regarder un peu, je pense que c'est un bug.
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Re: Des Listes dans les structures

Message par Dräc »

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+
Répondre