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 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
typedef struct liste
{
int id;
int pos;
char nom_prenom[20];
struct liste *suiv;
} list;
////////////////////////////////////
// Ajoute un maillon en fin de liste
////////////////////////////////////
void Add(list *s, char data[20])
{
list *next;
int pos;
pos=0;
next = s;
while(next->suiv)
{
next = next->suiv;
}
next->suiv = malloc(sizeof(list));
(next->suiv)->pos = 1;
(next->suiv)->id = 0;
strcpy( (next->suiv)->nom_prenom,data);
(next->suiv)->suiv = NULL;
pos++;
}
/////////////////////////////////
// Detruit un maillon de la liste
/////////////////////////////////
int Delete(list *s, int pos)
{
list *next, *sav;
int i;
next = s;
i = 0;
while(next->suiv && i < pos-1)
{
next = next->suiv;
i++;
}
if(i == pos-1)
{
sav = (next->suiv)->suiv;
free(next->suiv);
next->suiv = sav;
return 1;
}
else
{
return 0;
}
} |
Partager