Menu
Coddy logo textTech

addLast

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

challenge icon

Aufgabe

Einfach

Füge der Klasse DoublyLinkedList eine Methode addLast hinzu.

Sie erhält einen ganzzahligen value und fügt einen neuen Knoten mit diesem Wert am Ende der Liste ein. Stelle sicher, dass beide Richtungen der Verknüpfung verbunden werden (prev am neuen Knoten, next am alten Ende) und aktualisiere head, 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));
        }
        if (strcmp(cmd, "addLast") == 0) {
            char* arg = strtok(NULL, " \t");
            DoublyLinkedList_addLast(&ll, atoi(arg));
        }
    }
    return 0;
}

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