Liste chaînée, insertion fin de liste

hubert -  
 hubert -
Bonjour,

J'ai ce petit programme :

#include <stdio.h>
#include <stdlib.h>
#include "list.h"

int     add_in_list(struct s_list **list, char *name, int age)
{
  struct s_list *new_elem;

  new_elem = malloc(sizeof(*new_elem));
  if (new_elem == NULL)
    return (1);
  new_elem->name = name;
  new_elem->age = age;
  new_elem->next = *list;
 *list = new_elem;
  return (0);
}

int     main(int ac, char **av)
{
  struct s_list *list;

  list = NULL;
  my_put_in_list(&list, "toto", 15);
  my_put_in_list(&list, "titi", 17);
  return 0;
}


Ma fonction add_in_list marche et fait une insertion au début de la liste.
Je souhaiterais juste la modifier un peu et uniquement elle pour qu'elle face une insertion à la fin de la liste, c'est possible?

Merci.

3 réponses

  1. Utilisateur anonyme
     
    Bonjour,

    Pourrais-tu poster le code de list.h ?
    0
  2. hubert
     
    je n'arrive pas à voir ta réponse...
    0
  3. hubert
     
    le lien est mort je n'arrive pas à cliquer dessus, je vais prendre un autre exemple simple, j'ai une erreur à la compilation, pourquoi?:

                                                              
    #include <stdio.h> 
    #include <stdlib.h> 
    #include "list.h" 
    
    int     main(int ac, char **av) 
    { 
      struct s_elem *list; 
      int           i; 
    
      i = 1; 
      list = malloc(sizeof(struct s_elem *)); 
       while (i < ac) 
        put_in_list_end(&list, av[i++]); 
      return (0); 
    } 
    


    voici le .h

    struct          s_elem 
    { 
      char                  *str; 
      struct        s_elem  *next; 
    }; 
    


    struct s_elem *put_in_list_end(struct s_elem **list, char *str) 
    { 
      struct s_elem *elem; 
    
      if (!(elem = malloc(sizeof(*elem)))) 
        return (NULL); 
      elem->str = str; 
      elem->next = NULL; 
      *list->next = elem; 
      return (elem); 
    }


    A la compilation:

    list.c:21:7: error: request for member 'next' in something not a structure or union
    0