AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Unterschied zwischen drei Pointerketten-Typen
Thema durchsuchen
Ansicht
Themen-Optionen

Unterschied zwischen drei Pointerketten-Typen

Ein Thema von VeeJay · begonnen am 12. Mär 2003 · letzter Beitrag vom 12. Mär 2003
Antwort Antwort
VeeJay

Registriert seit: 3. Jan 2003
10 Beiträge
 
Delphi 7 Enterprise
 
#1

Unterschied zwischen drei Pointerketten-Typen

  Alt 12. Mär 2003, 15:52
Hallo Leute,
ich schreibe wieder mal eine tolle Informatikklausur und wäre für eure Hilfe bei dieser Aufgabe echt dankbar. Also, ich habe 3 Interfaces vorgegeben und soll die Unterschiede zwischen ihnen und ihre Vor- und Nachteile sammeln. Allerdings sehen die für mich größtenteils gleich aus. Wäre cool, wenn ihr mich aufklären könntet 8)

1.Interface: "Dynamische Liste"

Delphi-Quellcode:
Unit Liste;
//Das Objekt LISTE mit allen Methoden:
Interface
TYPE TElement = string;
     //Listentyp als dynamisch verkettete Zeiger:
      pListe = ^Knoten;
      Knoten = RECORD
                     element : TElement;
                        nach : pListe;
           END;
     //Das Objekt Liste mit allen Methoden:
     TListe = class (TObject)
             anfang : pListe ;
             aktuell : pListe ;
        Constructor create;
           {Erzeugung der leeren Liste. ( WICHTIG!)}
        procedure insert (ein:TElement);
           {Vor das akt.Element wird ein El.eingefügt.}
        procedure delete;
            {Das akt.Element wird gelöscht.}
        procedure reset ;
            {Das akt.Element wird auf den Anfang gesetzt.}
        procedure next ;
            {Der Aktuellzeiger wird versetzt.}
        procedure show(Var aus:TElement);
            {Das akt. Element wird an die Var.aus übergeben}
        procedure update(aend :TElement);
            {Das akt.Element wird überschrieben.}
        procedure last(ein: TElement);
            {Hängt ein neues Element am Ende an.}
        function empty : boolean;
            {Liefert true, wenn Liste leer}
        function ende : boolean;
            {Liefert true, wenn Listenende erreicht.}
     End;
2.Interface: "Schlange"

Delphi-Quellcode:
unit Schlange;
 //Hier wird das Objekt Schlange definiert:
interface

  TYPE TElement = String;

 //Der Datentyp Schlange als Zeigerkette:
    pSnake = ^TKnoten;
    TKnoten = RECORD
                  inhalt : tElement;
                  next : pSnake;
                END;
 //Das Objekt Schlange mit allen Methoden:
    TSchlange = class (TObject)
                anf, ende : pSnake;
          constructor create;
          function empty:boolean;
          function show :TElement;
          procedure insert (x:TElement);
          End;
3.Interface: "Keller"

Delphi-Quellcode:
 unit Keller;
// ADT Keller
interface

TYPE
     TElement = String;
 // Der Datentyp Keller als Zeigerkette:
     pKeller = ^knoten;
     knoten = RECORD
                   element : TElement;
                   next : pKeller
                 END;
//Das Objekt Keller mit allen Methoden:
     TKeller = class (TObject)
              pTop : pKeller;
     Constructor create;
     Function empty : boolean;
     PROCEDURE insert (x : telement);
     Function show: TElement;
     END;
Danke!
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2
  Alt 12. Mär 2003, 16:40
Da keine Implementierung der Methoden vorhanden ist, wäre ich so Frech und würde hinschreiben, dass bis auf den Schreibaufwand kein Unterschied bestehen muss. Denn wer sagt denn, dass die Methoden nicht leer sind?

Das würde dir neben einer 6 auch noch ein Statement des Lehrers bescheren, also hier das was der Lehrer wahrscheinlich sehen will.

Zu Schlange und Keller
Da im Interface Schlange neben dem Feld anf/pTop auch das Feld ende vorhanden ist, kann das Einfügen (insert) schneller von statten gehen, da nicht erst die gesamte Liste durchlaufen werden muss.

Zu TListe
TLIste besitzt neben dem Feld Anfang auch das Feld Aktuell, das die anderen beiden nicht besitzen. Es besteht also die Möglichkeit, auf den aktuellen Knoten zuzugreifen und einen neuen aktuellen Knoten auszuwöhlen. Um an das Listenende zu gelangen muss jedoch von der aktuellen Position aus das Listenende gesucht werden.
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:02 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