Problème avec une file doublement chainée
	
	
		Bonsoir tous ,
voici la file :
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
   |  
struct  noeud
{
    int cle;
    struct  noeud   *suivant;
    struct  noeud   *precedant;
} *debut,*z;
void    initListe()
{
    z = malloc(sizeof(struct noeud));
    debut = malloc(sizeof(struct noeud));
    z->suivant = z;
    z->precedant = debut;
    debut->suivant = z;
    debut->precedant = debut;
}
int   supprimerAvantZ()
{
    int cle = z->precedant->cle;
    z->precedant = z->precedant->precedant;
    z->precedant->suivant = z;
 
    return cle;
}
struct noeud*    insererApres(int element,struct noeud *t)
{
    struct noeud *x = malloc(sizeof(struct noeud));
    x->cle = element;
    x->precedant = t;
    x->suivant = t->suivant;
    t->suivant = x;
    x->suivant->precedant = x;
    return x;
} | 
 ps: je n'ai pas mis les procédures que je n'utilise pas pour le môment
Et voici main :
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
   |  
int main()
{
    struct noeud *un,*deux,*trois,*quatre;
 
    initListe();
 
    un = insererApres(1,debut);
    deux = insererApres(2,debut);
    trois = insererApres(3,debut);
    quatre = insererApres(4,debut);
    printListe();
    insererApres(supprimerAvantZ(),debut);
    printListe();
 
    return 0;
} | 
 Voici maintenant ce que je veux :
4 3 2 1
1 4 3 2
Enfin voila ce que je recois :
4 3 2 1
1
Je ne vois pas où est le problème ??