You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
1.7 KiB

#include "Jsae.h"
ListeDept listeDeptNouv(void)
{
ListeDept lDept;
lDept = NULL;
return lDept;
}
ListeDept insérerEntete(ListeDept lDept,Departement d)
{
MaillonDept *m;
m = (MaillonDept *)malloc(sizeof(MaillonDept));
if(m == NULL)
{
printf("Problème d'allocation mémoire lors de l'insertion\n");
exit(1);
}
m->d = d;
m->suiv = lDept;
return m;
}
ListeDept insérerDept(ListeDept lDept, Departement d)
{
if(lDept == NULL)
return insérerEntete(lDept,d);
if(d.dept < lDept->d.dept)
return insérerEntete(lDept,d);
if(d.dept == lDept->d.dept)
printf("Département déjà présent dans cet IUT\n");
return lDept;
lDept->suiv = insérerDept(lDept->suiv,d);
return lDept;
}
ListeDept supprimerEntete(ListeDept lDept)
{
ListeDept aux;
if(lDept == NULL)
{
printf("Opération interdite\n");
exit(1);
}
aux = lDept;
lDept = lDept->suiv;
free(aux);
return lDept;
}
ListeDept supprimerDept(ListeDept lDept, Departement d)
{
if(lDept == NULL)
return lDept;
if(d.dept < lDept->d.dept)
return lDept;
if(d.dept == lDept->d.dept)
return supprimerEntete(lDept);
lDept->suiv = supprimerDept(lDept->suiv,d);
return lDept;
}
int longueur(ListeDept lDept)
{
int compt = 0;
while(lDept != NULL)
{
compt = compt + 1;
lDept = lDept->suiv;
}
return compt;
}
bool vide(ListeDept lDept)
{
if(lDept == NULL)
return true;
return false;
}
/*int tete(Liste l){
if(l==NULL){
printf("Opération interdite\n");
exit(1)
}
return l->v;
}*/
bool rechercherDept(ListeDept lDept, Departement d)
{
if(vide(lDept))
return false;
if(d.dept < lDept->d.dept)
return false;
if(d.dept == lDept->d.dept)
return true;
return rechercherDept(lDept->suiv, d);
}