52 lines
865 B
C
52 lines
865 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
struct mail{
|
|
int valeur;
|
|
struct mail* suivant;
|
|
};
|
|
typedef struct mail maillon;
|
|
|
|
void afficher(maillon* premier) {
|
|
maillon* p;
|
|
for(p = premier; p != NULL; p = p->suivant)
|
|
printf("%d ", p->valeur);
|
|
}
|
|
|
|
maillon* ajouter_debut(maillon* premier, int nouveau) {
|
|
maillon* p = (maillon*) malloc(sizeof(maillon));
|
|
if (p) {
|
|
p->suivant = premier;
|
|
p->valeur = nouveau;
|
|
}
|
|
return p;
|
|
}
|
|
|
|
void delete(int v, maillon* vide){
|
|
maillon* m;
|
|
m=vide;
|
|
int i;
|
|
for (i=0;i<v-2;i++){
|
|
m = m->suivant;
|
|
}
|
|
free(m->suivant);
|
|
m->suivant=NULL;
|
|
}
|
|
|
|
|
|
int main(int argc, char const *argv[]){
|
|
maillon* vide= NULL;
|
|
maillon* m;
|
|
int i;
|
|
for(i=1; i<4; i++){
|
|
vide = ajouter_debut(vide , i);
|
|
}
|
|
afficher(vide);
|
|
printf("\n");
|
|
delete(3, vide);
|
|
afficher(vide);
|
|
printf("\n");
|
|
return 0;
|
|
}
|
|
|
|
/*Q7d8s6dp&#*/ |