1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Doppelt verkettete Liste

  • PWL
  • 8. Dezember 2007 um 14:59
  • Unerledigt
  • PWL
    5
    PWL
    Mitglied
    Punkte
    240
    Beiträge
    31
    • 8. Dezember 2007 um 14:59
    • #1

    Hallo,

    ich habe eine Aufgabe gestellt bekommen, und hab leider keine Ahnnung wie ich da rangehen soll.

    Hier die Aufgabe:

    In der Vorlesung wurden einfach verkettete Listen eingeführt. Doppelt verkettete
    Listen besitzen zusätzlich zum Zeiger auf das nachfolgende Element
    auch eine Zeiger auf das vorherige Element. Beim ersten Element der Liste
    wird der Zeiger auf das vorherige Element ebenfalls auf NULL gesetzt, genauso
    wie es beim letzten Element der einfach verketteten Liste mit dem Zeiger auf
    das nachfolgende Element der Fall war.
    Im Folgenden soll eine doppelt verkettete Liste implementiert werden.
    1. Geben Sie die Definition der Liste (Listenkopf)
    typedef s truct List_ {...} List ;
    an. Die Struktur soll auch die aktuelle Größe der Liste speichern.
    2. Geben Sie die Definition des Listenelements
    typedef s truct Node_ {...} Node ;
    an. Ein Listenelement soll als eigentlichen Inhalt einen int-Wert enthalten.
    3. Schreiben Sie eine Funktion zum Erzeugen und Einfügen eines neuen
    Elements void insertIntoList(List* list, int iVal). Der Funktion wird
    ein Zeiger auf das Kopfelement und der int-Wert ¨ubergeben, der in die
    Liste eingefügt werden soll. Es wird davon ausgegangen, dass die Liste
    nach den int Werten aufsteigend sortiert ist. Das neue Element soll so
    eingef¨ugt werden, dass die Liste aufsteigend sortiert bleibt.
    Der Speicher für das neue Element muss zuerst angelegt werden. Achten
    Sie auf korrekte Behandlung beim Einfügen am Anfang bzw. am Schluss
    der Liste und in eine leere Liste.
    4. Schreiben Sie eine Funktion zum Löschen von Elementen mit
    void deleteFromList(List* list, int iVal), der ein Zeiger auf das Kopfelement
    der Liste und ein int-Wert ¨ubergeben werden. Es sollen alle Elemente
    aus der Liste entfernt werden und ihr Speicher freigegeben werden,
    die diesen int-Wert enthalten.
    5. Schreiben Sie eine Funktion void printList(List* list), der ein Zeiger
    auf das Kopfelement der Liste übergeben wird. Die Funktion soll die
    Anzahl der Element in der Liste ausgeben und anschliessend die int-
    Wert getrennt durch Pfeile (->), falls mindestens noch ein Element in
    der Liste ist. Beispiel-Ausgabe:
    Double linked list with 4 elements.
    Data: 2 -> 4 -> 5 -> 5
    6. Schreiben auch eine Funktion main(), die zunächst eine Liste anlegt und
    dieWerte 5, 7, 10, 2, 7, 3 und 10 in dieser Reihenfolge in die Liste einfügt.
    Anschliessend soll der Wert 10 aus der Liste entfernt werden. Geben Sie
    nach jedem einzelnen Schritt die Liste mit der Funktion printList() aus.

    Wär echt super, wenn mir da jmd. helfen könnte...
    Danke schon mal im Voraus.

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 8. Dezember 2007 um 15:05
    • #2

    Und wo genau hängst du?

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 8. Dezember 2007 um 15:08
    • #3

    Also was eine verkettete Liste ist habt ihr in der Vorlesung besprochen (und bei Wikipedia steht es ja auch), und die Schritte die Du dafuer machen musst stehen auch in der Angabe. Ich wuesste jetzt gar nicht wie ich dir helfen soll, ausser vielleicht dir eine fertige Liste zu schreiben? Aber selbst das kannst Du schneller haben, wenn Du einfach bei Google danach suchst.

    Kannst Du vielleicht genauer beschreiben, wo Du nicht weiterkommst?

    lg, Benjamin Ferrari, bookworm.at

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung