Liste simplement ou doublement chaînée
Bonjour,
j'aimerais avoir votre avis sur la conception d'une structure.
je souhaite, dans mon programme, lire un texte et enregistrer chaque nouveau mot dans une liste. Exemple : "le chien mange le chat" ==> "le chien mange chat"
Pour ce faire voici mes déclarations de structure de données :
Code:
1 2 3 4 5 6 7
| Type Element= POINTER TO RECORD
mot: ARRAY 50 OF CHAR;
suivant: Element;
END;
ListeMots = RECORD
début: Noeud;
END; |
Ici j'établis ma structure de données et je crée un pointeur en tête de liste.
Ensuite j'ai une procédure me permettant d'ajouter un mot dans ma liste :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
PROCEDURE (VAR liste: ListeMots)AjouterMot*(m: ARRAY 50 OF CHAR), NEW;
VAR courant, precedent: Element;
BEGIN
courant:=liste.début;
WHILE (courant # NIL) & (m$ # courant.mot$) DO precedent:=courant; courant:=courant.suivant; END;
IF courant = NIL THEN
NEW(courant);
courant.mot := m$;
IF liste.début # NIL THEN precedent.suivant:=courant; ELSE liste.début:=courant; END;
ELSE
(*rien pour le moment*)
END;
END AjouterMot; |
Cette procedure et ce traitement fonctionnent. Cependant d'après vous s'agit-il d'une liste simplement chaînée ou doublement chaînée ?
Merci.