Se connecter / S'enregistrer
Votre question

creer et lister une liste chainee

Tags :
  • element
  • Programmation
Dernière réponse : dans Programmation
27 Juillet 2007 15:07:27

salut
mes amis
j'ai fais 2 fcts
creation et lister pour ecrire leselts d'une liste et le afficher mais j'ai un pb :
le listage des elts se fait inversement a ce que j'ai ecris
et je ne sais pas pourqoi
s'il vous plais un peu d'aide
void creation(liste *adeb)
{
elt donnee;
liste p;
while(printf("\n donner un element:\n"),scanf("%d",&donnee),donnee>0)
{
p=(liste)malloc(sizeof(struct cellule));
p->data=donnee;
p->lien=*adeb;
*adeb=p;
}
}
void lister(liste debut)
{
printf("\n***liste de la structure***\n");
while(debut!=NULL)
{
printf("\n%d\n",debut->data);
debut=debut->lien;
}
}


ensuitej'ai cree une fct inserer fin qui ajoute un elt a la fin de la liste mais je n'ai rien obtenu
void inserer_fin(liste *l,elt e)
{
liste p,q;
p=(liste)malloc(sizeof(struct cellule));
p->data=e;
p->lien=NULL;
if(*l==NULL)
*l=p;
else
{
q=*l;
while(q->lien!=NULL)
q=q->lien;
q->lien=p;
}
}
merci beaucoup;
bye

Autres pages sur : creer lister liste chainee

a b L Programmation
27 Juillet 2007 20:28:29

Quand tu crées ta liste, tu ajoute l'élément en début de liste. Donc, le premier inséré fini à la fins, et le dernier inséré se retrouve au début.
28 Juillet 2007 10:47:42

donc si je met inserer tete a la place de inserer queue ca marche????
a b L Programmation
29 Juillet 2007 12:43:31

Oui, si ton algo insère en fin, tu garde la liste dans le bon ordre.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS