Aller au menu - Aller au contenu

Les listes chaînées

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3  4 
Pseudo Commentaire
Page Précédente  1  2  3  4 
Hors ligne klasch # Posté le 10/07/2011 à 07:28:00

j'ai qq heures de train devant moi aujourd'hui, je vais m'y mettre. Merci pour ta réponse, je pense que ma représentation mentale de la llist est encore fausse (pour l'instant!).
Hors ligne klasch # Posté le 11/07/2011 à 19:33:45

merci !!! j'ai compris. En fait, c'était bien ma représentation mentale des llist qui était fausse; Une llist est juste définie par le pointeur sur le p r e m i e r élément, si on change en interne des chainons suivants, en retournant "liste", il en sera automatiquement tenu compte. Ma représentation était celle d'un "tableau chainé". Merci à toi.

jims
Hors ligne thomannstein # Posté le 08/08/2011 à 15:11:08
Avatar

Études : EFREI

merci super tuto, ça ma vraiment aider pour comprendre les listes chainées
Connecté Ouss4 # Posté le 23/08/2011 à 00:23:42
Oh Shit !
Avatar

Avis : Très bon

Ville : Kouba
Pays : Algérie
Études : Ecole Nationale Polytechnique d'Alger

Bon tuto merci.

Au fait, je voulais savoir, dans l'exercice deux de la 1ere partie, tu demande de créer une liste ajouter des éléments et l'afficher.
Tu ne devrais pas, commencer tout d'abord par montrer la fonction qui supprime la liste, par ce qu'on fait des allocations dynamiques sans les libérer.

Citation : Dennis Ritchie
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity.

 
Hors ligne lexou # Posté le 29/08/2011 à 09:09:25
Avatar

Effectivement c'est une bonne remarque Ouss4. La non désallocation de certaines ressources peut être effectivement problématique si l'on sort du contexte tutoriel. J’espère en tout cas que tout le monde lira le tutoriel au moins jusqu'à l'explication de la fonction de suppression...

Lexou pour vous servir...
 
Hors ligne Lucas-84 # Posté le 01/09/2011 à 09:50:57
[Tomber en marche]
Avatar

Avis : Décevant Validateurs
Flux RSS

Ville : Uchaux
Pays : France métropolitaine

Désolé si j'ai raté un épisode, mais tu ne testes pas le retour de malloc ? o_O
De plus, je trouve que, dans l'ensemble, le tutoriel manque d'exemple concret quant à l'utilisation des listes chaînées.
Je ne pense pas qu'un simple zéro, ayant lu ce tutoriel, aille utiliser par lui-même ce mécanisme lors de ses prochains codages. Autant présenter des situations où l'utilisation de ce conteneur est quasiment obligatoire.
D'autre part (je passe un peu du coq à l'âne, désolé), qu'est-ce que ces emphases omnipotentes dans l'introduction ? Le gros, le gras, l'italique, le orange et les balises en tout genre, ça fait un peu mal aux yeux.

Bref, le sujet est très intéressant et très utilisé en programmation, mais je trouve qu'il n'est pas exploité « à fond ».
Voilà, c'était mon humble avis de zéro.
 
Hors ligne Naoki-kun # Posté le 25/09/2011 à 21:19:22
EvoluNoob Admin
Avatar

Ville : La combelle
Pays : France métropolitaine

Bonsoir.

Bon tuto dans l'ensemble (même si des corrections/optimisations seraient probablement à faire), mais comme tu as choisi d'enseigner la structure des listes de manière à pouvoir par exemple inclure le fichier des fonctions des listes pour les utiliser dans un autre programme (d'où de simples exemples avec les fonctions des Listes, bon choix), tu dois donc assurer cette approche jusqu'au bout, celle de masquer les manipulations faites sur cette structure. Ainsi, tu as oublié d'implémenter la fonction de création d'une nouvelle liste, afin d'éviter de l'initialiser à NULL dans la fonction principale.

Soit la structure suivante (qui revient au même que la tienne):

Code : C
1
2
3
4
5
typedef struct maillon
   {
      int val;
      struct maillon *suiv;
   } Maillon, *Liste;


On créée donc notre liste avec cette petite fonction toute bête, mais utilise et justifiée:

Code : C
1
2
3
4
Liste nouvListe(void)
{
   return NULL;
}


Ou encore (si on veut détailler les instructions):

Code : C
1
2
3
4
5
6
7
8
Liste nouvListe(void)
{
   Liste l;

   l = NULL; /* Ou encore l->val = NULL et l->suiv = NULL */

   return l;
}



Voilà voilà, sinon, rien à dire, c'est du bon boulot :) !

J'IRAI AU PLUS PROFOND DES RÊVES CHERCHER CE QUE SES LÈVRES N'OSERONT JAMAIS DIRE À SES ENVIES !
 
Hors ligne lexou # Posté le 26/09/2011 à 09:35:09
Avatar

Très bonne remarque Naoki-kun. Merci :)
A bientôt !

Lexou pour vous servir...
 
Hors ligne TheWanderer # Posté le 23/02/2012 à 15:53:56

Bonjour,
simplement pour préciser un petit truc concernant la fonction récursive permettant de supprimer les nodes ayant une certaine valeur :
dans le code il y a ceci
Code : C
1
2
tmp = supprimerElement(tmp, valeur);
return tmp;

Il serait plus que judicieux de ne mettre que Code : C
1
return supprimerElement(tmp, valeur);

Pourquoi?
deux raisons:
-ça donne des mauvaises habitudes au niveau de la programmation récursive, car cela montre qu'on ne sais pas s'en servir, donc pour un zero, il vaudrait mieux éviter, éventuellement l'expliquer en commentaire.
-La plus importante: sinon c'est pas récursif terminal, donc la pile d’exécution du programme va grandir grandir grandir sur de grosses listes, jusqu’à, une belle erreur ou overflow, bref le mal
Sinon, tutoriel assez bien fait même s'il manque quelques petites choses et des variantes, parfois plus utiles/rapides suivant les besoins
Hors ligne roka1988 # Posté le 20/03/2012 à 18:24:46

Bonjour,

J'essaie de créer une liste chaînée avec différents types de structures (pas un seul comme le montre ce tutoriel). Par un exemple une structure cercle, une structure triangle et une autre rectangle, toutes liées dans la même liste. Sauf que je n'ai aucune idée de comment faire!
Merci d'avance pour votre aide..
Hors ligne Laurentdu38 # Posté le 23/03/2012 à 11:56:17
Avatar

salut,
je suis tombé sur le même cours, à l'identique ici : http://www.scribd.com/doc/29303691/Les [...] -en-Langage-c
....
Hors ligne lexou # Posté le 23/03/2012 à 12:07:04
Avatar

Merci pour l'info Laurent :)
La source est noté en bas du document auquel tu fais référence, donc ça va...

Lexou pour vous servir...
 
Hors ligne guidono # Posté le 09/04/2012 à 15:46:15
non
Avatar

Avis : Très bon

Super tuto :)
Pour accéder à cette section
Connectez-vous !
connexion_rpx