Menu
Coddy logo textTech

addFirst

Lektion 5 von 14 im Kurs Doppelt verkettete Liste - Datenstrukturen-Serie #6 von Coddy.

challenge icon

Aufgabe

Einfach

Fügen Sie der Klasse DoublyLinkedList eine Methode addFirst hinzu.

Sie erhält einen ganzzahligen value und fügt einen neuen Knoten mit diesem Wert am Anfang der Liste ein. Stellen Sie sicher, dass beide Richtungen der Verknüpfung verbunden werden (prev am alten Head, next am neuen Knoten) und aktualisieren Sie tail, falls die Liste leer war.

Probier es selbst

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "doublylinkedlist.h"

int main() {
    DoublyLinkedList ll;
    DoublyLinkedList_init(&ll);
    char line[256];
    while (fgets(line, sizeof(line), stdin)) {
        line[strcspn(line, "\r\n")] = '\0';
        char* cmd = strtok(line, " \t");
        if (!cmd) continue;
        if (strcmp(cmd, "state") == 0) printf("%s %s %d\n", ll.head == NULL ? "true" : "false", ll.tail == NULL ? "true" : "false", ll.count);
        if (strcmp(cmd, "count") == 0) printf("%d\n", ll.count);
        if (strcmp(cmd, "headValue") == 0) printf("%d\n", Node_getValue(ll.head));
        if (strcmp(cmd, "tailValue") == 0) printf("%d\n", Node_getValue(ll.tail));
        if (strcmp(cmd, "addFirst") == 0) {
            char* arg = strtok(NULL, " \t");
            DoublyLinkedList_addFirst(&ll, atoi(arg));
        }
    }
    return 0;
}

Alle Lektionen in Doppelt verkettete Liste - Datenstrukturen-Serie #6