size
Lektion 9 von 14 im Kurs Doppelt verkettete Liste - Datenstrukturen-Serie #6 von Coddy.
Aufgabe
EinfachFü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