From c9f744a2d58b8ec9e89581186443d9b49b8fd73a Mon Sep 17 00:00:00 2001 From: Lukas Heiligenbrunner Date: Tue, 28 Apr 2020 19:21:33 +0000 Subject: [PATCH] Upload New File --- chained_functions.c | 108 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 chained_functions.c diff --git a/chained_functions.c b/chained_functions.c new file mode 100644 index 0000000..2be65e1 --- /dev/null +++ b/chained_functions.c @@ -0,0 +1,108 @@ +#include "chained_functions.h" +#include + +//for information purposes: mom== momentan ((; + +messdaten* +insertFirst (messdaten* firstelem, messdaten* newelement) +{ + newelement->next = firstelem; + return newelement; +} + +messdaten* +insertLast (messdaten* firstelem, messdaten* newelement) +{ + messdaten * mom = firstelem; + while (mom->next != NULL) + { + mom = mom->next; + } + mom->next = newelement; + newelement->next = NULL; + return firstelem; +} + +messdaten* +insertPos (messdaten* firstelem, messdaten* newelement, int pos) +{ + pos--; + messdaten * mom = firstelem; + int n = 0; + while (mom->next != NULL) + { + if (n == pos) + { + newelement->next = mom->next; + mom->next = newelement; + return firstelem; + } + n++; + mom = mom->next; + + } + fprintf (stderr, "failed to allocate list element!!"); + return firstelem; +} + +messdaten* +deleteFirst (messdaten* firstelem) +{ + messdaten * temp = firstelem; + + temp = firstelem->next; + free (firstelem); + return temp; +} + +messdaten* +deleteLast (messdaten* firstelem) +{ + messdaten * mom = firstelem; + messdaten * temp = NULL; + while (mom->next != NULL) + { + temp = mom; + mom = mom->next; + } + free (temp->next); + temp->next = NULL; + return firstelem; +} + +messdaten* +deletePos (messdaten* firstelem, int pos) +{ + pos--; + messdaten * mom = firstelem; + messdaten * temp = NULL; + int n = 0; + while (mom->next != NULL) + { + if (n == pos) + { + temp = mom->next; + mom->next = mom->next->next; + free (temp); + return firstelem; + } + n++; + mom = mom->next; + + } + printf ("failed to allocate list element!!"); + return firstelem; +} + +messdaten* +deleteAll (messdaten* firstelem) +{ + messdaten * temp; + while (firstelem != NULL) + { + temp = firstelem; + firstelem = firstelem->next; + free (temp); + } + return firstelem; +}