Liste chaînée, insertion fin de liste
hubert
-
hubert -
hubert -
Bonjour,
J'ai ce petit programme :
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.
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
-
-
-
Salut hubert,
La réponse de H4RDW4RE est là : https://forums.commentcamarche.net/forum/affich-27077377-liste-chainee-insertion-fin-de-liste#1
:-)
Si tu postes list.h dans les commentaires à la suite de la question de H4RDW4RE cela sera bien pour la lisibilité de ce topic (clique sur "Ajouter un commentaire" à la suite de la question de H4RDW4RE).
Dal
-
-
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