Guest User

Untitled

a guest
May 16th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. Méthode Insère listetriée de John
  2.  
  3. template <class T> void ListeTriee<T>::insere(const T &val)
  4. {
  5.         int i;
  6.         elem *e = first, *nouveau, *prec = NULL;
  7.  
  8.         if(first != NULL)
  9.         {
  10.                 if(mode == 0)
  11.                 {
  12.                         for(i=0;i<nbelem && e->val < val;i++)
  13.                         {
  14.                                 prec = e;
  15.                                 e = e->next;
  16.                         }
  17.                 }
  18.                 else
  19.                 {
  20.                         for(i=0;i<nbelem && e->val > val;i++)
  21.                         {
  22.                                 prec = e;
  23.                                 e = e->next;
  24.                         }
  25.                 }
  26.         }
  27.         // INSERTION DE VALEUR
  28.         nouveau = new elem;
  29.         nouveau->val = val;
  30.         // CHAINAGE
  31.         if(prec == NULL)
  32.         {
  33.                 // Si insertion en début de liste
  34.                 nouveau->next = first;
  35.                 first = nouveau;
  36.         }
  37.         else
  38.         {
  39.                 if(e == NULL)
  40.                 {
  41.                         // Si insertion en fin de liste
  42.                         prec->next = nouveau;
  43.                         nouveau->next = NULL;
  44.                 }
  45.                 else
  46.                 {
  47.                         // Si insertion en milieu de liste
  48.                         nouveau->next = prec->next;
  49.                         prec->next = nouveau;
  50.                 }
  51.         }
  52.         nbelem++;
  53. }
  54.  
  55. Méthode ajoutePremier de niko
  56.  
  57. template <class T> void Liste<T>::ajoutePremier (const T & insert)
  58. {
  59.     noeud *pTmp;
  60.    
  61.     pTmp = new Noeud;
  62.    
  63.     if(getSize() == 0)
  64.     {
  65.         pTmp->valeur = insert;
  66.         pListe = pTmp;
  67.     }
  68.     else
  69.     {
  70.         pTmp->valeur = insert;
  71.         pTmp->suiv = pListe;
  72.         pListe = pTmp;
  73.     }
  74.     setSize(getSize()+1);  
  75. }
Add Comment
Please, Sign In to add comment