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 : Sélectionner tout - Visualiser dans une fenêtre à part
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