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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#include <iostream>
using namespace std;
struct cellule
{
char donnee;
cellule *suivant;
};
class Pile
{
private:
cellule *sommet;
cellule *debut;
int taille;
public:
Pile();
void operator +(char donne);
void operator -();
//void Pile::afficher();
};
Pile::Pile()
{
taille =0;
sommet =NULL;
debut=NULL;
}
void Pile::operator+(char donne)
{
++taille;
if (taille==1)
{
debut=new cellule;
sommet=debut;
sommet->donnee=donne;
}
else
{
sommet->suivant=new cellule;
sommet->donnee=donne;
}
sommet->suivant=NULL;
}
void Pile::operator -()
{
cellule *p;
p=debut;
delete sommet;
while (p->suivant!=NULL)
{p=p->suivant;}
sommet=p;
delete p->suivant;
delete p;
taille--;
} |
Partager