Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème sur les listes chaînées

Suppression de la 1ère occurrence d'un élément dans une liste chaînée

Sujet résolu
    20 septembre 2017 à 17:56:41

    typedef struct maillon *LISTE; //Pointeur sur maillon qui permet ensuite d'allouer le premier élément.
    
    typedef struct maillon {
    	int info; //On veut stocker une donnée de type int.
    	LISTE suivant; //Permet de lier les éléments les uns aux autres en pointant vers un élément du même type.
    } MAILLON;
    
    void supprime(LISTE *pL, int n) {
    	if (*pL == NULL)
    		puts("End of list\n");
    	else if (*pL->info == n) {
    		MAILLON *tmp;
    		tmp = *pL;
    		*pL = tmp->suivant;
    		free(pL);
    	} else
    		supprime(&((*pL)->suivant), n);
    } // supprime()

    Bonsoir, j'ai un problème en voulant compiler mon code. J'ai une erreur sur "else if (*pL->info == n)" et je ne comprends pas comment comparer le pointeur avec l'int n. Il faut récupérer la valeur du pointeur, c'est ce que j'ai fait avec "*pL->info" non ? L'objectif de la fonction supprime() est de supprimer la première occurrence de n dans la liste chaînée. PS : Il faut que ce soit une fonction récursive.
    Merci pour l'aide que vous pourrez m'apporter ! J'ai un peu de mal avec les listes chaînées :(
    • Partager sur Facebook
    • Partager sur Twitter
    "L'expérience, c'est le nom que chacun donne à la somme de ses erreurs." (Oscar Wilde)
      20 septembre 2017 à 19:07:31

          else if ((*pL)->info == n)



      • Partager sur Facebook
      • Partager sur Twitter
        21 septembre 2017 à 15:56:52

        Ah c'était aussi simple que ça... Merci ! :D
        • Partager sur Facebook
        • Partager sur Twitter
        "L'expérience, c'est le nom que chacun donne à la somme de ses erreurs." (Oscar Wilde)

        Problème sur les listes chaînées

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown