Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Wer hat in seinem FI-Leben schon einmal einen Stack in C++ realisiert ?? Wäre nett, wenn mir jemand einmal die Syntax dafür schicken könnte !!

Vielen Dank im Vorraus :-)

Geschrieben

OK hier der code:


class Data

{

public:

  Data() {inhalt=0; prev=0;}

  Data(int daten) {inhalt=daten; prev=0;}

  int inhalt;

  Data* prev;

};


class Stack

{

public:

  // Default- Konstruktor

  Stack()

  {

    daten=0;

    index=0;

  }

  // Destruktor

  ~Stack()

  { 

    while (index != 0)

    {

      pop();

    }

  }


  // Daten hinzufügen

  void push (int daten)

  {

    if (index == 0)

    {

      daten = new Data(daten);

      index++;

    }

    else

    {

      Data tmp = new Data(inhalt);

      tmp.prev=daten;

      daten=tmp;

      index++;

    }

  }

  int pop  ()

  {

    if (index > 0)

    {

      return daten.inhalt;

      Data tmp = daten.prev;

      delete daten;

      daten = tmp;

      index--;

    }

    else if (index == 0 )

    {

      return daten.inhalt;

      delete daten;

    }

    else

    {

       cout<<"Stack ist leer"<<endl;

    }

  }

private:

  Data* daten;

  int index;

so ich denke das das laufen sollte und das sich keine fehler eingeschlichen haben.

Geschrieben

daten ist aber auch der Zeiger auf die daten im Stack. vielleicht eine etwas unglückliche namenswahl.

Stack::daten = new Data(daten);

und im else zweig dann auch

tmp.prev=Stack::daten;

Stack::daten=tmp

das denn besser.

ps: einfacher wären glaubich auch andere namen.

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von maddin:

daten ist aber auch der Zeiger auf die daten im Stack. vielleicht eine etwas unglückliche namenswahl.

Stack::daten = new Data(daten);

und im else zweig dann auch

tmp.prev=Stack::daten;

Stack::daten=tmp

Geschrieben

eigentlich genau meine rede.

wiso etwas selber schreiben, was schon vorhanden ist. besser und schneller bekommt man das glaubich nicht hin. (ich hoffe damit niemanden zu beileidigen / die fehler waren ein beweis dafür :D ).

die frage lautete allerding nach dem schon mal selber programmiert. da dachte ich es ging um ein beispiel, wie soetwas aussieht.

ps: ich weiß jetzt nicht, was du mit simikolon hinter dem letzten statemant meinst, aber ich denke es ist, das ich vergessen habe die klasse zu schließen. oder

pps: normalerweise habe ich aber auch einen compiler zur hand, um zu checken, was ich mache, aber das war zu dem zeitpunkt nicht der fall.

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von maddin:

eigentlich genau meine rede.

wiso etwas selber schreiben, was schon vorhanden ist. besser und schneller bekommt man das glaubich nicht hin.

Geschrieben

schon klar was statements sind. bloß ich habe als einziges fehlendes semikolon das was eigentlich ans ende der klasse hinter der fehlenden klammer gehört gesehen und wollte nur wissen, ob es da noch andere fehler gibt.

Geschrieben

Moin Jungs,

schön das Ihr Euch so ausgiebig mit meinem Problem beschäftigt.

Da ich auf diesem Gebiet newbee bin und nicht sooo viel von Programmierung verstehe hat mich Euer Lösungsansatz nur noch mehr verwirrt !!

MfG

König Blauzahn :-)

Geschrieben

@code_warriors_deluxe:

Fachlich prima aber ungünstigerweise für Anfänger nicht verständlich.

(Ich selbst glaube auch nur zu wissen worum es geht)

Abgesehen davon habt ihr etwas gegen:

  • Einrücken?
  • Kommentare?
  • Verständliche Namen? (In C kann man mehr als 8 Zeichen beutzen :))

@Bluetooth: Was willst du den machen?

Und was verstehst du unter einem Stack?

Sorry, aber Stack heißt so weit ich weiß doch nicht anderes als Stapel, oder?

Was soll der Stapel den können?

Und was soll er stapeln?

G33tz Ketzer

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...