Thông tin

Tác giả Maxime Mawait & Nicolas Rybowski
Hạn chót Không có hạn chót
Giới hạn nộp bài Không có giới hạn

Đăng nhập

Q3: Pile Simple

Vous devez implémenter les fonctions pop et push pour une structure de type pile (stack/LIFO):

struct node {
    struct node *next;
    char *name;
};

Indices :

  • char *name est un pointer, sa mémoire doit être initialisée en utilisant malloc(3) afin de copier une chaine de caractère sur la pile.
  • Autre commandes utiles strncpy(3) et strlen(3).
  • N'oubliez pas de libérer toute la mémoire allouée quant vous retirer un élément de la pile.

Câu hỏi 1: Pop
/**
* Supprime l'élément du haut de la pile et retourne son contenu.
*
* @head : un pointeur vers le haut de la pile
* @result : un pointeur pour stocker l'élement enlevé
*
* @return 0 si pas d'erreur, 1 sinon
*
* pre : @result contient une chaine de caractères correcte terminée par un octet nul (null-terminated string)
* post : @result contient la chaine de caractère @name de l'élément du haut de la pile
*/

int pop(struct node **head, char *result){
Câu hỏi 2: Push
/**
* Ajoute @name au dessus de la pile.
*
* @head : un pointeur vers le haut de la pile
* @value : la chaine de caractère à placer dans l'élément au dessus de la pile
*
* @return 0 si pas d'erreur, 1 sinon
*/

int push(struct node **head, const char *value){
Câu hỏi 3: Zone de test

Voici une zone vous permettant d'implémenter des tests dans la fonction montest(). Le score du test n'est pas pris en compte dans le score total.

Les résultats de votre test s'afficheront dans la zone de retour de l'exercice.

Attention Si vous utilisez printf() ne pas utiliser de retour à la ligne \n.

void montest(){