Hilfe, wie funktioniert der Stack?



  • hallo ich haette hier mal wieder ein anliegen und zwar bräuchte ich mal hilfe dabei, dass mir
    hier vieleicht mal jemand erklärt wie ein stack funktioniert. ich hatte das schon mal in einem
    anderen beitrag gefragt aber durt wollte oder konnte mir niemand helfen. vieleicht ja hier
    waer voll nett, wenn sich mal jemand die muehe machen wuerde um mir hier zeile fuer zeile alles
    erklären koennte also mit nen //komentar hinter, hier erst mal der stack:

    class tNode
    {
    public:
        int d;
        tNode *next;
    };
    
    class tStack
    {
    public:
        tStack();
        ~tStack();
        void push(int);
        int pop();
    private:
        tNode * Anker;
    };
    
    tStack::tStack()
    {
        Anker = 0;
    }
    
    tStack::~tStack()
    {
    tNode *last = Anker;
    
        while (Anker)
        {
            last = Anker;
            Anker = Anker->next;
            delete last;
        }
    }
    
    void tStack::push(int d)
    {
        tNode *node = new tNode;
        node->d = d;
        node->next = Anker;
        Anker = node;
    }
    
    int tStack::pop()
    {
    int inhalt=0;
    
        if (Anker)
        {
            tNode *old = Anker;
            Anker = Anker->next;
            inhalt = old->d;
            delete old;
        }
        return inhalt;
    }
    

    ich hab echt kein blassen wies funktioniert. ich brauche solch einen stack fuer mein programm
    die einen kennens ja schon, ich versuche gerade nen terminkalender in konsolen from zu entwerfen.
    da wäre es sehr praktisch wenn der nach abfrage eingegebene termin auf nen stapel gelegt wird und
    zur eingabe zuruekkehrt und ich dann später, wenn ich alle termine eingegeben habe, alle abrufen
    kann und sie untereinander ausgegeben werden. vieleicht habt ihr ja noch eine andere, bessere etwas
    bequemere:) lösung wie ich des sonst noch lösen kann, also ausser nen stack, ne erklärung wär
    dennoch voll nett,ThanX im v o r r a u s.



  • http://de.wikipedia.org/wiki/Stapelspeicher, wobei dein Stack durch eine einfach verlinkte Liste realisiert wird. Was die einzelnen Befehle machen solltest du aber selbst wissen, ansonsten musst du ein wenig Grundlagenforschung nachholen 😉


Anmelden zum Antworten