AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

lineare liste mit pointer

Ein Thema von bonanza · begonnen am 29. Mai 2006 · letzter Beitrag vom 29. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
bonanza

Registriert seit: 13. Sep 2005
134 Beiträge
 
RAD-Studio 2009 Arc
 
#1

lineare liste mit pointer

  Alt 29. Mai 2006, 19:01
Hi,

ich versuche mich gerade an einer Linearen liste mit pointern...

dafür habe ich mir DIESES Tutorial angeschaut....


und dementsprechend habe ich es so veruscht:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
     TDaten = integer;
     TToElement = ^TElement;
     TElement = record
                    Daten : TDaten;
                    ToNext: TToElement;
                  end;


  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  wurzel, ll:Ttoelement;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); {push}
var Element: TToElement;
begin
  New (Element);
  Element^.Daten := random(20)+1;
  Element^.ToNext:= ll;
  ll := Element;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ll := nil;
end;

procedure TForm1.Button2Click(Sender: TObject);

var Element: TToElement;
begin
    pop := ll^.Daten; //<-------- *1
    Element:= ll;
    ll := ll^.ToNext;
    Dispose (Element);
end;

end.
da ich das selbe wort wie im tutorial "pop" (markierte Zeile *1) benutzt habe funktioniert es natürlich nicht, aber meine frage ist, was ist diese Pop ? ist es die "wurzel" , die auf das 1. element zeigt oder was ?
Und was müsste ich dementsprechend abändern ?

danke schomal im voraus !
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: lineare liste mit pointer

  Alt 29. Mai 2006, 19:07
Pop ist das entfernte erste Element der Liste, Das 2.Element wird dann erstes. Es scheint sich hier um eine Queue zu handeln.
Die variable Pop ist aber nicht deklariert, deshalb wird hier ein Fehler kommen. Außerdem machst du ja nichts damit, dann könntest du dir das Abspiechern des Elementes auch sparen.
Markus Kinzler
  Mit Zitat antworten Zitat
bonanza

Registriert seit: 13. Sep 2005
134 Beiträge
 
RAD-Studio 2009 Arc
 
#3

Re: lineare liste mit pointer

  Alt 29. Mai 2006, 19:12
erstmal danke für die schnelle antwort !

also meine aufgabe ist es ansich eine lineare liste zu erstellen, wo man bei bedarf neue elemente hinzufügen kann...
und am ende sollen diese dann alle ausgegeben werden...

wie kann dies realisieren ?
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: lineare liste mit pointer

  Alt 29. Mai 2006, 19:25
Evtl. hilft dir dies ja:
http://larskiesow.de/delphi_objlist.html

Ich habe das ganze allerdings mit einem Internen dynamischen array gelöst.
Alternativ könnte ich dir noch eine Implementierung anbieten, die auf zwei Stacks aufbaut (mussten wir mal in Informatik machen)
Ist allerdings nicht mit Pointern.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
bonanza

Registriert seit: 13. Sep 2005
134 Beiträge
 
RAD-Studio 2009 Arc
 
#5

Re: lineare liste mit pointer

  Alt 29. Mai 2006, 19:33
danke, aber ich bräuchte eine lösung mit pointern....
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: lineare liste mit pointer

  Alt 29. Mai 2006, 19:35
Dein Programm implementiert einen Art Stack (Keller). Was verstehst du unter einer "Linearen Liste", eine einfach verkettete Liste?
Markus Kinzler
  Mit Zitat antworten Zitat
bonanza

Registriert seit: 13. Sep 2005
134 Beiträge
 
RAD-Studio 2009 Arc
 
#7

Re: lineare liste mit pointer

  Alt 29. Mai 2006, 19:46
ja genau eine verkette liste von Records mit pointern.
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#8

Re: lineare liste mit pointer

  Alt 29. Mai 2006, 19:48
Schau dir mal die Liste bei mir im Anhang an, die haben wir im Unterricht verwendet. Ist etwas merkwürdig programmiert, aber sollte das sein, was du suchst.

Ich würde empfehlen nur das Prinzip abzuschauen und das Ding nochmal zu programmieren, denn einiges ist unschön gelöst und diesen Englisch-Deutsch-Mischmasch kann ich gar nicht ab.

Edit: Records? Diese speichert alles was von TObject kommt... Aber Records wohl weniger?
Angehängte Dateien
Dateityp: pas ulist_199.pas (3,0 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
bonanza

Registriert seit: 13. Sep 2005
134 Beiträge
 
RAD-Studio 2009 Arc
 
#9

Re: lineare liste mit pointer

  Alt 29. Mai 2006, 19:51
danke für die datei, aber irgendwie verstehe ich nicht, wie du es gelöst hast...

ja muss ja kein record sein, sonder egal was für ein datentyp...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: lineare liste mit pointer

  Alt 29. Mai 2006, 19:53
Wenn du eine einfach verkette Liste willst, dann mußt du nur die Funktion zum Anhängen ändern. Jetzt hängst du ja an den Anfang an.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz