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
|
/* fonction inésrant un élément dans la file
* @in: pointeur sur la liste dans laquelle ajouter l'élément
* point composant l'élément
* valeur de l'élément
*/
void AjouterElement(liste* laliste, point val, int passage)
{
/* si le pointeur sur la liste est invalide,
ca indique une erreur de programmation */
assert(laliste!=NULL);
/* l'allocation de la cellule se fait ici */
Cellule nouveau=malloc(sizeof(Cellule))
if(nouveau!=NULL)
{
nouveau->valeur=val;
nouveau->passage=passage;
nouveau->next=NULL;
/* insertion de l'élélment dans la liste */
/* la liste est peut etre vide
Si c'est le cas, nouveau prend la place du début*/
if(laliste->tete==NULL)
{
laliste->tete=nouveau;
/* le pointeur sur prev de nouveau est donc NULL */
nouveau->prev=NULL;
}
/* Sinon, le nouvel élément se raccroche au dernier de la liste */
else
{
laliste->queue->next=nouveau;
nouveau->prev=laliste->queue;
}
/* Quoi qu'il en soit, le nouvel élément devient le dernier de la
liste */
laliste->queue=nouveau;
}
} |
Partager