Site hosted by Angelfire.com: Build your free website today!

Der Stapel (Stack)


Implementation eines Stapels mit einem Feld

class StapelFeld {
public:
     StapelFeld(int max=50) {
         stapel = new itemType[max];
         zeiger = 0;
     }

     ~StapelFeld() {
         delete stapel;
     }

     void cm_push(itemType wert) {
         stapel[zeiger++] = v;
     }

     itemType cm_pop() {
         return stapel[--zeiger];
     }

     int cm_empty() {
         return !zeiger;
     }

private:
     itemType *stapel;
     int zeiger;
};


Implementation eines Stapels mit einer verketteten Liste

class StapelListe {
public:
     StapelListe(void);
     ~StapelListe();
     void cm_push(itemType wert);
     itemType cm_pop();
     int cm_empty() {
         return head->next == z;
     }

private:
     node *head, *z;
};


StapelListe::StapelListe(void) {
     head = new node;
     z = new node;
     head->next = z;
     z->next = z;
}


StapelListe::~StapelListe() {
     node *k = head;
     while(k != z) {
         head = k;
         k = k->next;
         delete head;
     }
}


void StapelListe::cm_push(itemType wert) {
     node *k = new node;
     k->key = wert;
     k->next = head->next;
     head->next = k;
}


itemType StapelListe::cm_pop() {
     itemType x;
     node *k = head->next;
     head->next = k->next;
     x = k->key;
     delete k;
     return x;
}


   Computer    Programmieren (incl. C++ Kurs)    Algorithmen    Bücher    

Zeitschriften    Heavy Metal    Mountainbiking    Meine Katze    

Über mich und die Site    Links    Downloads    Gästebuch    HP mit Umfrage