bonjour a tous ;)
s'il vous plait ,je suis en train de développer une petite application basée sur les piles et les files en C++ au même temps. alors j'ai une fonction qui retourne le 1ére "sommet" seulement de la pile.
j'en sais pas comment le faire
voilà un petit essaie et Merci de me corrigé
// les structure
struct C {
int val;
char visibil;
};
struct piles{
C *sommet ;
piles* suiv;
};
// la fonction
int sommet(piles *p){
if(p!=NULL){
C* c=p->sommet;
}
return p;
}
Bonjour emile01,
Je suppose que tu souhaites créer une liste chainée et l'utiliser comme une pile (LIFO) ou comme une file (FIFO)
Déja tes éléments (maillons) doivent être liés ensemble, et donc chaque élément doit avoir un pointeur vers son suivant et pourquoi pas un pointeur vers son prédécesseur.
Dans ton code tu utilises un pointeur 'suiv' dans la Struct piles !!! c'est dans C qu'il faut le mettre
// les structures
struct C {
int val;
C* next;
C* suiv;
char visibil;
};
struct piles{
C* sommet ;
C* base;
};
// la fonction
C* sommet(piles *p){
if(p!=NULL){
return p->sommet;
}
return NULL;
}```
Merci pour ta réponse monsieur Huggy
mais j'ai pas compris la modification au niveau des structures !! pour plus d'explication les structure "c" contient des informations sur la "carte" et la carte doit étre stocker dans le sommet de la pile .donc je doit récuperé seulment le 1ére sommet dans ma pile . donc un pointeur sur le suivant doit étre dans la pile c'est ça !!! car je doit parcourir la pile seulement .