Listes doublement chaînées
meryema92
Messages postés
41
Statut
Membre
-
meryema92 Messages postés 41 Statut Membre -
meryema92 Messages postés 41 Statut Membre -
Bonjour,
en fait j'ai trouvé un exercice sur internet qui demandait d'inverser une liste doublement chaînée en se servant des adresses et non pas des contenus des cellules
voici le programme que j'ai proposé mais je ne sais pourquoi ça ne marche pas quand je fais l'exécution du programme . j'ai vraiment besoin d'aide
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
typedef struct circulaire{
int contenu;
circulaire *pcd;
circulaire *suiv;
};
void inverse(circulaire *d)
{
int m=0; circulaire *c;
while(d!=NULL)
{m++;}
while(d!=NULL)
{d=d->suiv;
}
if(d==NULL)
{ c=d;
int i=0;
while(i!=m)
{
c->suiv=d->pcd;
d->pcd=(d->pcd)->pcd;
c=c->suiv;
printf("%d\t",c->contenu);
i++;
}
}
}
main()
{
circulaire *p,*d;
int i;
for(i=0;i<8;i++)
{
p=(circulaire*) malloc(sizeof(circulaire));
p->contenu=i;
p->suiv=NULL;
p->pcd=(p->pcd)->suiv;
printf("%d\t",p->contenu);
}
inverse(d);
getch();
}
en fait j'ai trouvé un exercice sur internet qui demandait d'inverser une liste doublement chaînée en se servant des adresses et non pas des contenus des cellules
voici le programme que j'ai proposé mais je ne sais pourquoi ça ne marche pas quand je fais l'exécution du programme . j'ai vraiment besoin d'aide
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
typedef struct circulaire{
int contenu;
circulaire *pcd;
circulaire *suiv;
};
void inverse(circulaire *d)
{
int m=0; circulaire *c;
while(d!=NULL)
{m++;}
while(d!=NULL)
{d=d->suiv;
}
if(d==NULL)
{ c=d;
int i=0;
while(i!=m)
{
c->suiv=d->pcd;
d->pcd=(d->pcd)->pcd;
c=c->suiv;
printf("%d\t",c->contenu);
i++;
}
}
}
main()
{
circulaire *p,*d;
int i;
for(i=0;i<8;i++)
{
p=(circulaire*) malloc(sizeof(circulaire));
p->contenu=i;
p->suiv=NULL;
p->pcd=(p->pcd)->suiv;
printf("%d\t",p->contenu);
}
inverse(d);
getch();
}
A voir également:
- Les listes doublement chainées en c
- Liste déroulante en cascade - Guide
- Listes déroulantes excel - Guide
- Supprimer les photos en double sur pc - Guide
- Lister les disques cmd - Guide
- Comment mettre sa liste d'amis en privé sur facebook - Guide