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
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);
|
|
}
|
|
|
|
|