Accéder à un élément d'une liste liée
Bonsoir, j'ai un problème tout simple, que je n'arrive pas à résoudre.
Je souhaiterais créer une fonction permettant de retourner le contenu de ma liste chainée à un rang donné en paramètre. Comme lorsque l'on fait tab[i] avec un tableau.
Merci de votre aide,
J'avais réalisé ceci auparavant en m'aidant d'un site :
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 40 41 42 43 44 45 46 47 48 49 50
| typedef struct element element;
struct element
{
int val;
struct element *nxt;
};
typedef element* llist;
llist add(llist liste, int valeur)
{
element* nouvelElement = malloc(sizeof(element));
nouvelElement->val = valeur;
nouvelElement->nxt = NULL;
if(liste == NULL)
{
return nouvelElement;
}
else
{
element* temp=liste;
while(temp->nxt != NULL)
{
temp = temp->nxt;
}
temp->nxt = nouvelElement;
return liste;
}
}
int size(llist liste)
{
if(liste == NULL)
return 0;
return size(liste->nxt)+1;
}
void disp(llist liste)
{
element *tmp = liste;
while(tmp != NULL)
{
printf("%d ", tmp->val);
tmp = tmp->nxt;
}
} |
je précise que je sais comment procéder, mais je ne sais pas l'écrire en langage C