Information

Author(s) Cyrille Dubois Anthony Doeraene
Deadline No deadline
Submission limit No limitation

Tags

Sign in

Map my Linked List (Not in Use => see exercice STREAMS)

Soit des articles représentés par la structure product définie comme suit:

typedef struct product{
    char* name;
    double price;
} product_t;

Ces articles sont stockés dans une linked list implémentée comme suit:

typedef struct node{
    product_t product;
    struct node* next;
};

Ecrivez le prototype et le corps d'une fonction map qui applique une fonction reçue en argument à chaque élément d'une linked list.


Question 1: Déclaration de la fonction

Ecrivez la déclaration de la fonction map

/*
*@pre mapping_function: fonction à appliquer sur chaque élément de la liste. Elle renvoie 1 si une erreur se produit et 0 sinon.
*                       Cette fonction est passée par pointeur (!= NULL) et est de la forme int mapping_function(product_t*).
*@pre head: pointeur vers le début d'une linked list. Si head == NULL, il n'y a rien besoin de faire.
*@post int: retourne
*           0 si aucune erreur
*           1 si la fonction à appliquer a eu une erreur
*/
Question 2: Map

Implémentez désormais cette fonction map

/*
*@pre mapping_function: fonction à appliquer sur chaque élément de la liste. Elle renvoie 1 si une erreur se produit et 0 sinon.
*                       Cette fonction est passée par pointeur (!= NULL) et est de la forme int mapping_function(product_t*).
*@pre head: pointeur vers le début d'une linked list. Si head == NULL, il n'y a rien besoin de faire.
*@post int: retourne
*           0 si aucune erreur
*           1 si la fonction à appliquer a eu une erreur
*/