Bonsoir ,
j'ai un probleme dans mon code :
| Code: |
#include <stdlib.h> #include <conio.h> #include <stdio.h> #include <ctype.h> #include <math.h>
// Déclaration de mes structures de données //************************************************************************ struct cellule { void * data; struct cellule * suivant; struct celulle * precedent; };
struct liste { struct cellule * depart, * courant, * fin; };
//Initialisation de la liste //************************************************************************** void initList( struct liste * * l) { ( * l )->depart = ( struct cellule * ) malloc( sizeof( struct cellule ) ); ( * l )->fin = ( struct cellule * ) malloc( sizeof( struct cellule ) ); ( * l )->fin->precedent = ( * l )->depart; ( * l )->depart->suivant = ( * l )->fin; ( * l )->fin->suivant = NULL; ( * l )->depart->precedent = NULL;
}
// Ajout d'un élement dans la liste //***************************************************************************
void add_itemInEnd( struct liste * l, void * data ) { int * item, * inserted;
l->courant = l->depart->suivant;
while ( l ) { if ( l->courant->suivant == NULL ) { l->courant->suivant = ( struct cellule * ) malloc( sizeof( struct cellule ) ); l->courant->precedent->suivant = l->courant; l->courant->suivant->precedent = l->courant; l->courant = l->courant->suivant; l->courant->data = data; l->courant->suivant = NULL;
}
else { l->courant = l->courant->suivant;
}
}
}
// Suppression d'un élement dans la liste //**************************************************************************** *
void delete_item( struct liste * l, void * data ) { int * element, * inserted; int deleted = 0; l->courant = l->depart->suivant;
while ( l) { inserted = ( int * ) data;
element = ( int * ) noeud->courant->data;
if ( * inserted == * element ) { l->courant->precedent->suivant = l->courant->suivant;
l->courant->suivant->precedent = l->courant->precedent;
free( l->courant ); deleted = 1;
} else { l->courant = l->courant->suivant;
}
}
if ( deleted == 1 ) { printf( " Item was deleted successfully\n" ); getchar(); }
else { printf( " Item not found \n" ); getchar(); }
}
|
Voila j'ai une erreur dans ma fonction "AddItemInEnd et dans DeleteItem
pour cette ligne ci :
l->courant->precedent->suivant = l->courant->suivant ;
->>> Suivant n'est pas un membre de Celulle .
Merci pour votre aide