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