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