Menu
Coddy logo textTech

size

Lektion 9 von 14 im Kurs Linked List - Datenstrukturen-Serie #5 von Coddy.

challenge icon

Aufgabe

Einfach

Füge der Klasse LinkedList 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 "linkedlist.h"

int main() {
    LinkedList ll;
    LinkedList_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 %d\n", ll.head == 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, "addFirst") == 0) {
            char* arg = strtok(NULL, " \t");
            LinkedList_addFirst(&ll, atoi(arg));
        }
        if (strcmp(cmd, "addLast") == 0) {
            char* arg = strtok(NULL, " \t");
            LinkedList_addLast(&ll, atoi(arg));
        }
        if (strcmp(cmd, "get") == 0) {
            char* arg = strtok(NULL, " \t");
            printf("%d\n", LinkedList_get(&ll, atoi(arg)));
        }
        if (strcmp(cmd, "remove") == 0) {
            char* arg = strtok(NULL, " \t");
            LinkedList_remove(&ll, atoi(arg));
        }
        if (strcmp(cmd, "size") == 0) printf("%d\n", LinkedList_size(&ll));
    }
    return 0;
}

Alle Lektionen in Linked List - Datenstrukturen-Serie #5