Menu
Coddy logo textTech

size

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

challenge icon

Aufgabe

Einfach

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

Sie nimmt keine Eingabe entgegen und gibt die aktuelle Anzahl der Knoten in der Liste zurück (den Wert von count).

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));
        }
        if (strcmp(cmd, "get") == 0) {
            char* arg = strtok(NULL, " \t");
            printf("%d\n", DoublyLinkedList_get(&ll, atoi(arg)));
        }
        if (strcmp(cmd, "removeLast") == 0) DoublyLinkedList_removeLast(&ll);
        if (strcmp(cmd, "size") == 0) printf("%d\n", DoublyLinkedList_size(&ll));
    }
    return 0;
}

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

Übe selbstständig: Online-C-Compiler