Problème avec une liste chaînée
Bonnour à tous
je rencontre un petit problème avec l'écriture d'une fonction de suppression d'un nième élément d'une liste chaînée :
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 35 36 37 38 39
|
typedef struct Element Element;
struct Element
{
int nombre;
Element *suivant;
};
typedef struct Liste Liste;
struct Liste
{
Element *premier;
};
void suppression_element_rang(Liste *liste , int rang)
{
if (liste == NULL)
{
exit(EXIT_FAILURE);
}
int position=1;
Element *actuel = liste->premier;
while (position < rang)
{
actuel = actuel->suivant;
position++;
}
Element *aSupprimer = actuel;
actuel = actuel->suivant;
free(aSupprimer);
} |
lorsque je demande ensuite au programme d'afficher la liste dont j'ai supprimé un des éléments à l'aide de cette fonction, ça vire en une boucle interminable. pourriez-vous m'aider?