Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi anfänger: stack als klasse erstellen (https://www.delphipraxis.net/69057-anfaenger-stack-als-klasse-erstellen.html)

nkaaa 10. Mai 2006 20:30

Re: anfänger: stack als klasse erstellen
 
vielen dank euch allen, kaum zu glauben, aber es funktioniert endlich :mrgreen:


Zitat:

Zitat von Hawkeye219
Wenn du dir die Routine nach der Korrektur etwas genauer ansiehst, wirst du sie sicher vereinfachen können...

Gruß Hawkeye

Delphi-Quellcode:
procedure Tstack.push(info : String);
var help : Pinfo;
begin
  new(help);
  help^.info:=info;
  if empty then
    begin
      help^.next:=nil;
      first:=help;
    end
    else
      begin
        help.next:=first;
        first:=help;
      end;
end;
meinst du so vereinfachen?
er würde dann einmal die zuweisung help^.next:=nil; sparen, wenn der stack nicht leer ist.

lizardking 10. Mai 2006 20:37

Re: anfänger: stack als klasse erstellen
 
Zitat:

Zitat von nkaaa
meinst du so vereinfachen?
er würde dann einmal die zuweisung help^.next:=nil; sparen, wenn der stack nicht leer ist.

Schau Dir mal an, was Du mit "empty" ueberpruefst, also welchen Wert first in dem Fall hat, wenn "empty" true zurueckliefert. Und dann ueberleg mal ganz genau, ob im if...then-Zweig bei Push ueberhaupt was anderes passiert, als im else-Zweig. :wink:

Gruesse,

Lizzy

nkaaa 10. Mai 2006 20:52

Re: anfänger: stack als klasse erstellen
 
Delphi-Quellcode:
procedure Tstack.push(info : String);
var help : Pinfo;
begin
  new(help);
  help^.info:=info;
  help^.next:=nil;
  if empty then first:=help
    else
      begin
        help.next:=first;
        first:=help;
      end;
end;
Delphi-Quellcode:
procedure Tstack.push(info : String);
var help : Pinfo;
begin
  new(help);
  help^.info:=info;
  if empty then
    begin
      help^.next:=nil;
      first:=help;
    end
    else
      begin
        help.next:=first;
        first:=help;
      end;
end;
verdammt.. ich sehe ehrlich keine Möglichkeit, wie ich das verbessern könnte :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz