Advertisement
Le_BuG63

Untitled

Jan 14th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.78 KB | None | 0 0
  1.  
  2. MaillonLecteur *lLecteurSupprimerEnTete(MaillonLecteur *tete) {
  3.     MaillonLecteur *tmp = tete->suiv;
  4.  
  5.     free(tete);
  6.  
  7.     return tmp;
  8. }
  9.  
  10. MaillonLecteur *lLecteurSupprimer(MaillonLecteur *tete, int numlecteur) {
  11.     if(tete == NULL)
  12.         return NULL;
  13.  
  14.     if(tete->lec.numlecteur == numlecteur) {        
  15.         MaillonLecteur *tmp = tete->suiv;
  16.         tete = lLecteurSupprimerEnTete(tete);
  17.         printf("Lecteur N.%d supprime\n", numlecteur);
  18.         return tmp;
  19.     }
  20.  
  21.     return lLecteurSupprimer(tete->suiv, numlecteur);    
  22. }
  23.  
  24. void lLecteurLiberer(MaillonLecteur *tete) {
  25.     if(tete == NULL)
  26.         return;
  27.  
  28.     lLecteurLiberer(tete->suiv);
  29.  
  30.     free(tete);
  31. }
  32.  
  33. ListeLecteur lLecteurInsertionCroissante (ListeLecteur listeLecteur, Lecteur lec)
  34. {
  35.     if(listeLecteur == NULL)
  36.         return lLecteurInsererEnTete (listeLecteur, lec);
  37.  
  38.     listeLecteur->suiv = lLecteurInsertionCroissante (listeLecteur->suiv, lec);
  39.  
  40.     return listeLecteur;
  41.  
  42. }
  43.  
  44. ListeLecteur lLecteurInsertionCroissanteTriee (ListeLecteur listeLecteur, Lecteur lec)
  45. {
  46.  
  47.     if(listeLecteur == NULL)
  48.         return lLecteurInsererEnTete(listeLecteur, lec);
  49.  
  50.     if(strcmp(lec.nom, listeLecteur->lec.nom)<0)
  51.     {    
  52.         return lLecteurInsererEnTete(listeLecteur, lec);  
  53.     }
  54.  
  55.     else listeLecteur->suiv = lLecteurInsertionCroissanteTriee (listeLecteur->suiv, lec);
  56.  
  57.     return listeLecteur;
  58.  
  59. }
  60.  
  61. ListeLecteur lLecteurSuppressionCroissante (ListeLecteur listeLecteur, Lecteur lec)
  62. {
  63.     if(listeLecteur == NULL)
  64.         return listeLecteur;
  65.  
  66.     if(listeLecteur->lec.numlecteur == lec.numlecteur)
  67.         return lLecteurSupprimerEnTete(listeLecteur) ;
  68.  
  69.     listeLecteur->suiv = lLecteurSuppressionCroissante(listeLecteur->suiv, lec);
  70.     return listeLecteur;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement