Bonjour à tous,

j'ai implémenté une fonction qui ajoute un élément dans une file, j'aimerais optimiser cette fonction mais je ne sais pas comment le faire.
Pouvez vous m'aidez s'il vous plaît ?

voici ma fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
typedef int bool;
#define False 0
#define True  1
 
typedef struct Fifo
{
    int *donnee;
    struct Fifo *suivant;
} Fifo;
 
void fifo_add( Fifo **p_fifo, int *val)
{
  Fifo *new_fifo, *p_courant;
 
  /* on créer un nouvel élément de la file */
  new_fifo=Malloc(1,Fifo);
  assert(new_fifo != NULL); 
 
  /* on fait pointer l'élément vers null */
  new_fifo->suivant=NULL;
 
  /* on assigne aà l'élément la donné que l'on veut ajouter*/
  new_fifo->donnee=val;
  /* si la file est vide, alors on fait pointer la file vers l'élément que l'on vient de créer */
  if(fifo_isempty(*p_fifo))
  { 
   *p_fifo=new_fifo;
  }
  else
  {
     p_courant=*p_fifo;
    while(p_courant->suivant!=NULL)
    {
      p_courant=p_courant->suivant;
    }
     p_courant->suivant=new_fifo;
  }
return;  
}
Cordialement,
Takout