From d48edcd327479e7a230e1a34684f251a5cd47337 Mon Sep 17 00:00:00 2001
From: Peter Gerwinski <peter.gerwinski@hs-bochum.de>
Date: Sun, 10 Dec 2023 21:13:54 +0100
Subject: [PATCH] Notizen und Beispiele 7.12.2023

---
 20231207/bogosort-1.c    |  66 ++++++++++++++++++++++++++++++++++
 20231207/bogosort-2.c    |  64 +++++++++++++++++++++++++++++++++
 20231207/bsort-1.c       |  48 +++++++++++++++++++++++++
 20231207/bsort-2.c       |  55 +++++++++++++++++++++++++++++
 20231207/bsort-3.c       |  58 ++++++++++++++++++++++++++++++
 20231207/bsort-3a.c      |  58 ++++++++++++++++++++++++++++++
 20231207/bsort-3b.c      |  58 ++++++++++++++++++++++++++++++
 20231207/bsort-4.c       |  57 ++++++++++++++++++++++++++++++
 20231207/hanoi-32.c      |  58 ++++++++++++++++++++++++++++++
 20231207/hp-20231207.pdf | Bin 382848 -> 399108 bytes
 20231207/hp-20231207.tex |  70 ++++++++++++++++++------------------
 20231207/hp-20231207.txt |  20 +++++++++++
 20231207/names.h         |  50 ++++++++++++++++++++++++++
 20231207/qsort-1.c       |  70 ++++++++++++++++++++++++++++++++++++
 20231207/qsort-2.c       |  72 +++++++++++++++++++++++++++++++++++++
 20231207/qsort-3.c       |  74 +++++++++++++++++++++++++++++++++++++++
 20231207/qsort-3a.c      |  74 +++++++++++++++++++++++++++++++++++++++
 20231207/qsort-3b.c      |  74 +++++++++++++++++++++++++++++++++++++++
 20231207/sort-0.c        |  16 +++++++++
 20231207/sort-1.c        |  21 +++++++++++
 20231207/sort-1a.c       |  21 +++++++++++
 20231207/sort-2.c        |  46 ++++++++++++++++++++++++
 20231207/sort-3.c        |  46 ++++++++++++++++++++++++
 20231207/sort-4.c        |  59 +++++++++++++++++++++++++++++++
 20231207/sort-4a.c       |  59 +++++++++++++++++++++++++++++++
 20231207/sort-5.c        |  60 +++++++++++++++++++++++++++++++
 20231207/sort-6.c        |  60 +++++++++++++++++++++++++++++++
 20231207/sort-7.c        |  53 ++++++++++++++++++++++++++++
 28 files changed, 1432 insertions(+), 35 deletions(-)
 create mode 100644 20231207/bogosort-1.c
 create mode 100644 20231207/bogosort-2.c
 create mode 100644 20231207/bsort-1.c
 create mode 100644 20231207/bsort-2.c
 create mode 100644 20231207/bsort-3.c
 create mode 100644 20231207/bsort-3a.c
 create mode 100644 20231207/bsort-3b.c
 create mode 100644 20231207/bsort-4.c
 create mode 100644 20231207/hanoi-32.c
 create mode 100644 20231207/hp-20231207.txt
 create mode 100644 20231207/names.h
 create mode 100644 20231207/qsort-1.c
 create mode 100644 20231207/qsort-2.c
 create mode 100644 20231207/qsort-3.c
 create mode 100644 20231207/qsort-3a.c
 create mode 100644 20231207/qsort-3b.c
 create mode 100644 20231207/sort-0.c
 create mode 100644 20231207/sort-1.c
 create mode 100644 20231207/sort-1a.c
 create mode 100644 20231207/sort-2.c
 create mode 100644 20231207/sort-3.c
 create mode 100644 20231207/sort-4.c
 create mode 100644 20231207/sort-4a.c
 create mode 100644 20231207/sort-5.c
 create mode 100644 20231207/sort-6.c
 create mode 100644 20231207/sort-7.c

diff --git a/20231207/bogosort-1.c b/20231207/bogosort-1.c
new file mode 100644
index 0000000..6f8f4fe
--- /dev/null
+++ b/20231207/bogosort-1.c
@@ -0,0 +1,66 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+int is_sorted (char **name)
+{
+  for (int i = 1; name[i]; i++)
+    if (compare (name, i - 1, i) > 0)
+      return 0;
+  return 1;
+}
+
+void mix (char **name)
+{
+  int n = 0;
+  while (name[n])
+    n++;
+  for (int i = 0; i < n; i++)
+    {
+      int j = rand () % (n - i);
+      char *temp = name[i];
+      name[i] = name[j];
+      name[j] = temp;
+    }
+}
+
+void sort (char **name)
+{
+  while (!is_sorted (name))
+    mix (name);
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/bogosort-2.c b/20231207/bogosort-2.c
new file mode 100644
index 0000000..3120ed1
--- /dev/null
+++ b/20231207/bogosort-2.c
@@ -0,0 +1,64 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+int is_sorted (char **name)
+{
+  for (int i = 1; name[i]; i++)
+    if (compare (name, i - 1, i) > 0)
+      return 0;
+  return 1;
+}
+
+void mix (char **name)
+{
+  int n = 0;
+  while (name[n])
+    n++;
+  for (int i = 0; i < n; i++)
+    {
+      int j = rand () % (n - i);
+      char *temp = name[i];
+      name[i] = name[j];
+      name[j] = temp;
+    }
+}
+
+void sort (char **name)
+{
+  while (!is_sorted (name))
+    mix (name);
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/bsort-1.c b/20231207/bsort-1.c
new file mode 100644
index 0000000..3c02adc
--- /dev/null
+++ b/20231207/bsort-1.c
@@ -0,0 +1,48 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+void sort (char **name)
+{
+  for (int i = 1; name[i]; i++)
+    if (compare (name, i - 1, i) > 0)
+      {
+        char *temp = name[i - 1];
+        name[i - 1] = name[i];
+        name[i] = temp;
+      }
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/bsort-2.c b/20231207/bsort-2.c
new file mode 100644
index 0000000..d277be0
--- /dev/null
+++ b/20231207/bsort-2.c
@@ -0,0 +1,55 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+void sort (char **name)
+{
+  int sorted = 0;
+  while (name[sorted])
+    sorted++;
+  while (sorted > 0)
+    {
+      for (int i = 1; i < sorted; i++)
+        if (compare (name, i - 1, i) > 0)
+          {
+            char *temp = name[i - 1];
+            name[i - 1] = name[i];
+            name[i] = temp;
+          }
+      sorted--;
+    }
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/bsort-3.c b/20231207/bsort-3.c
new file mode 100644
index 0000000..67d0097
--- /dev/null
+++ b/20231207/bsort-3.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+void sort (char **name)
+{
+  int done = 0;
+  int sorted = 0;
+  while (name[sorted])
+    sorted++;
+  while (sorted > 0 && !done)
+    {
+      done = 1;
+      for (int i = 1; i < sorted; i++)
+        if (compare (name, i - 1, i) > 0)
+          {
+            done = 0;
+            char *temp = name[i - 1];
+            name[i - 1] = name[i];
+            name[i] = temp;
+          }
+      sorted--;
+    }
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/bsort-3a.c b/20231207/bsort-3a.c
new file mode 100644
index 0000000..c475276
--- /dev/null
+++ b/20231207/bsort-3a.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+void sort (char **name)
+{
+  int done = 0;
+  int sorted = 0;
+  while (name[sorted])
+    sorted++;
+  while (sorted > 0 && !done)
+    {
+      done = 1;
+      for (int i = 1; i < sorted; i++)
+        if (compare (name, i - 1, i) > 0)
+          {
+            done = 0;
+            char *temp = name[i - 1];
+            name[i - 1] = name[i];
+            name[i] = temp;
+          }
+      sorted--;
+    }
+}
+
+int main (void)
+{
+  char *name[] = { "Anna", "Berta", "Box", "Dieter", "Fritz", "Hans", "Heinrich", "Hugo",
+                   "Lisa", "Maria", "Otto", "Peter", "Siegfried", "Thomas", "Ulrich",
+                   "Zacharias", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/bsort-3b.c b/20231207/bsort-3b.c
new file mode 100644
index 0000000..9795fe9
--- /dev/null
+++ b/20231207/bsort-3b.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+void sort (char **name)
+{
+  int done = 0;
+  int sorted = 0;
+  while (name[sorted])
+    sorted++;
+  while (sorted > 0 && !done)
+    {
+      done = 1;
+      for (int i = 1; i < sorted; i++)
+        if (compare (name, i - 1, i) > 0)
+          {
+            done = 0;
+            char *temp = name[i - 1];
+            name[i - 1] = name[i];
+            name[i] = temp;
+          }
+      sorted--;
+    }
+}
+
+int main (void)
+{
+  char *name[] = { "Zacharias", "Ulrich", "Thomas", "Siegfried", "Peter", "Otto", "Maria",
+                   "Lisa", "Hugo", "Heinrich", "Hans", "Fritz", "Dieter", "Box", "Berta",
+                   "Anna", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/bsort-4.c b/20231207/bsort-4.c
new file mode 100644
index 0000000..241270a
--- /dev/null
+++ b/20231207/bsort-4.c
@@ -0,0 +1,57 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+void sort (char **name)
+{
+  int sorted = 0;
+  while (name[sorted])
+    sorted++;
+  while (sorted > 0)
+    {
+      int new_sorted = 0;
+      for (int i = 1; i < sorted; i++)
+        if (compare (name, i - 1, i) > 0)
+          {
+            new_sorted = i;
+            char *temp = name[i - 1];
+            name[i - 1] = name[i];
+            name[i] = temp;
+          }
+      sorted = new_sorted;
+    }
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/hanoi-32.c b/20231207/hanoi-32.c
new file mode 100644
index 0000000..55e8d74
--- /dev/null
+++ b/20231207/hanoi-32.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+#include <error.h>
+
+#define DISKS 32
+
+int n[3], tower[3][DISKS];
+
+void display (void)
+{
+  printf ("\n");
+  for (int i = 0; i < 3; i++)
+    {
+      printf ("tower %d:", i);
+      for (int j = 0; j < n[i]; j++)
+        printf (" %d", tower[i][j]);
+      printf ("\n");
+    }
+}
+
+void move (int from, int to, int disks)
+{
+  if (disks == 1)
+    {
+      if (n[from] <= 0)
+        error (1, 0, "trying to move disk from empty tower");
+      if (n[to] > 0 && tower[to][n[to] - 1] < tower[from][n[from] - 1])
+        error (1, 0, "trying to move larger disk on smaller one");
+      tower[to][n[to]] = tower[from][n[from] - 1];
+      n[to]++;
+      n[from]--;
+      static int counter = 1;
+      if (counter++ >= 100000000)
+        {
+          display ();
+          counter = 1;
+        }
+    }
+  else
+    {
+      int help = 0 + 1 + 2 - from - to;
+      move (from, help, disks - 1);
+      move (from, to, 1);
+      move (help, to, disks - 1);
+    }
+}
+
+int main (void)
+{
+  n[0] = DISKS;
+  for (int i = 0; i < DISKS; i++)
+    tower[0][i] = DISKS - i;
+  n[1] = 0;
+  n[2] = 0;
+  display ();
+  move (0, 2, DISKS);
+  display ();
+  return 0;
+}
diff --git a/20231207/hp-20231207.pdf b/20231207/hp-20231207.pdf
index f1b861dbf29df728f937d9c68089cb0d57649ee3..19ef347b517567ceededc8726a63a5338b1b83f4 100644
GIT binary patch
delta 42088
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

delta 26521
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
BB2xeW

diff --git a/20231207/hp-20231207.tex b/20231207/hp-20231207.tex
index 4bf45fe..45f0d25 100644
--- a/20231207/hp-20231207.tex
+++ b/20231207/hp-20231207.tex
@@ -248,41 +248,41 @@
         }
       \end{lstlisting}
     \end{onlyenv}
-%     \begin{onlyenv}<6->
-%       \vspace{-5.0cm}
-%       \hspace*{7.4cm}\begin{minipage}[t]{5cm}
-%         32 Scheiben:
-%         \begin{lstlisting}[gobble=10,style=terminal]
-%           $ ¡time ./hanoi-9b¿
-%           ...
-%           real    0m30,672s
-%           user    0m30,662s
-%           sys     0m0,008s
-%         \end{lstlisting}
-%         \pause[7]
-%         \begin{itemize}
-%           \arrowitem
-%             etwas über 1 Minute\\
-%             für 64 Scheiben
-%         \end{itemize}
-%         \pause
-%         \vspace*{-0.5cm}
-%         \begin{picture}(0,0)
-%           \color{red}
-%           \put(0,0){\makebox(0,0)[bl]{\tikz[line width=1pt]{\draw(0,0)--(4,0.8);}}}
-%           \put(0,0.8){\makebox(0,0)[tl]{\tikz[line width=1pt]{\draw(0,0)--(4,-0.8);}}}
-%         \end{picture}
-% 
-%         Für jede zusätzliche Scheibe\\verdoppelt sich die Rechenzeit!
-%         % 30.672 * 2^32 / 3600 / 24 / 365.25 = 4174.43775518138261464750
-%         \begin{itemize}
-%           \arrowitem
-%             $\frac{30,672\,\text{s}\,\cdot\,2^{32}}{3600\,\cdot\,24\,\cdot\,365,25} \approx 4174$
-%             Jahre\\[\smallskipamount]
-%             für 64 Scheiben
-%         \end{itemize}
-%       \end{minipage}
-%     \end{onlyenv}
+     \begin{onlyenv}<6->
+       \vspace{-5.0cm}
+       \hspace*{7.4cm}\begin{minipage}[t]{5cm}
+         32 Scheiben:
+         \begin{lstlisting}[gobble=10,style=terminal]
+           $ ¡time ./hanoi-9b¿
+           ...
+           real    0m30,672s
+           user    0m30,662s
+           sys     0m0,008s
+         \end{lstlisting}
+         \pause[7]
+         \begin{itemize}
+           \arrowitem
+             etwas über 1 Minute\\
+             für 64 Scheiben
+         \end{itemize}
+         \pause
+         \vspace*{-0.5cm}
+         \begin{picture}(0,0)
+           \color{red}
+           \put(0,0){\makebox(0,0)[bl]{\tikz[line width=1pt]{\draw(0,0)--(4,0.8);}}}
+           \put(0,0.8){\makebox(0,0)[tl]{\tikz[line width=1pt]{\draw(0,0)--(4,-0.8);}}}
+         \end{picture}
+ 
+         Für jede zusätzliche Scheibe\\verdoppelt sich die Rechenzeit!
+         % 30.672 * 2^32 / 3600 / 24 / 365.25 = 4174.43775518138261464750
+         \begin{itemize}
+           \arrowitem
+             $\frac{30,672\,\text{s}\,\cdot\,2^{32}}{3600\,\cdot\,24\,\cdot\,365,25} \approx 4174$
+             Jahre\\[\smallskipamount]
+             für 64 Scheiben
+         \end{itemize}
+       \end{minipage}
+     \end{onlyenv}
   \end{onlyenv}
 
 \end{frame}
diff --git a/20231207/hp-20231207.txt b/20231207/hp-20231207.txt
new file mode 100644
index 0000000..0caaea4
--- /dev/null
+++ b/20231207/hp-20231207.txt
@@ -0,0 +1,20 @@
+x ^ 9 = x * x * x * x * x * x * x * x * x         # 8 Multiplikationen
+
+      = ((x^2)^2)^2 * x                           # 4 Multiplikationen
+        `----v----'
+            x^8
+
+
+9 = 1001 binär
+
+    Bits von rechts nach links:
+
+      x        x       1 --> damit multiplizieren
+
+     ^2       x^2      0 --> damit nicht multiplizieren
+    
+     ^2       x^4      0 --> damit nicht multiplizieren
+
+     ^2       x^8      1 --> damit multiplizieren
+   
+--> O(log n) statt O(n)
diff --git a/20231207/names.h b/20231207/names.h
new file mode 100644
index 0000000..a265ff4
--- /dev/null
+++ b/20231207/names.h
@@ -0,0 +1,50 @@
+"Michael",    "Laura",
+"Elias",      "Julia",
+"Luca",       "Anna",
+"Liam",       "Emma",
+"Alexander",  "Lena",
+"Noah",       "Vanessa",
+"Jonas",      "Lea",
+"Marcel",     "Mila",
+"Daniel",     "Lisa",
+"David",      "Lina",
+"Milan",      "Sarah",
+"Julian",     "Alina",
+"Linus",      "Emilia",
+"Thomas",     "Nina",
+"Samuel",     "Elena",
+"Levin",      "Lara",
+"Levi",       "Melanie",
+"Jan",        "Hannah",
+"Lukas",      "Sandra",
+"Tim",        "Leonie",
+"Patrick",    "Sophie",
+"Marvin",     "Mia",
+"Andreas",    "Amelie",
+"Leon",       "Selina",
+"Tobias",     "Luisa",
+"Simon",      "Maria",
+"Valentin",   "Jana",
+"Robin",      "Johanna",
+"Paul",       "Marie",
+"Markus",     "Milena",
+"Benjamin",   "Melina",
+"Stefan",     "Michelle",
+"Felix",      "Emily",
+"Florian",    "Renesmee",
+"Fabian",     "Aylin",
+"Emil",       "Jessica",
+"Aaron",      "Franziska",
+"Manuel",     "Jasmin",
+"Christian",  "Fiona",
+"Dominik",    "Sina",
+"Joshua",     "Jennifer",
+"Moritz",     "Claudia",
+"Sebastian",  "Nicole",
+"Peter",      "Annika",
+"Philipp",    "Sophia",
+"Max",        "Katharina",
+"Johannes",   "Isabella",
+"Finn",       "Nele",
+"Adrian",     "Elisabeth",
+"Martin",     "Pia",
diff --git a/20231207/qsort-1.c b/20231207/qsort-1.c
new file mode 100644
index 0000000..c5431b8
--- /dev/null
+++ b/20231207/qsort-1.c
@@ -0,0 +1,70 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, char *pivot, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (name[i] == pivot)
+        printf (" <==");
+      else if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, char *pivot, int left, int right)
+{
+  int result = strcmp (name[left], pivot);
+  comparisons++;
+  display (name, pivot, left, right);
+  usleep (200000);
+  return result;
+}
+
+void quicksort (char **name, int left, int right)
+{
+  int p = (left + right) / 2;
+  char *pivot = name[p];
+  int l = left;
+  int r = right;
+  while (l < r)
+    {
+      while (l < r && compare (name, pivot, l, r - 1) < 0)
+        l++;
+      while (l < r && compare (name, pivot, r - 1, l) > 0)
+        r--;
+      if (l < r)
+        {
+          char *temp = name[r - 1];
+          name[r - 1] = name[l];
+          name[l] = temp;
+          l++;
+          r--;
+        }
+    }
+}
+
+void sort (char **name)
+{
+  int r = 0;
+  while (name[r])
+    r++;
+  quicksort (name, 0, r);
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, NULL, -1, -1);
+  return 0;
+}
diff --git a/20231207/qsort-2.c b/20231207/qsort-2.c
new file mode 100644
index 0000000..cfdc2ec
--- /dev/null
+++ b/20231207/qsort-2.c
@@ -0,0 +1,72 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, char *pivot, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (name[i] == pivot)
+        printf (" <==");
+      else if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, char *pivot, int left, int right)
+{
+  int result = strcmp (name[left], pivot);
+  comparisons++;
+  display (name, pivot, left, right);
+  usleep (200000);
+  return result;
+}
+
+void quicksort (char **name, int left, int right)
+{
+  int p = (left + right) / 2;
+  char *pivot = name[p];
+  int l = left;
+  int r = right;
+  while (l < r)
+    {
+      while (l < r && compare (name, pivot, l, r - 1) < 0)
+        l++;
+      while (l < r && compare (name, pivot, r - 1, l) > 0)
+        r--;
+      if (l < r)
+        {
+          char *temp = name[r - 1];
+          name[r - 1] = name[l];
+          name[l] = temp;
+          l++;
+          r--;
+        }
+    }
+  if (l < right)
+    quicksort (name, l, right);
+}
+
+void sort (char **name)
+{
+  int r = 0;
+  while (name[r])
+    r++;
+  quicksort (name, 0, r);
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, NULL, -1, -1);
+  return 0;
+}
diff --git a/20231207/qsort-3.c b/20231207/qsort-3.c
new file mode 100644
index 0000000..e6b7d99
--- /dev/null
+++ b/20231207/qsort-3.c
@@ -0,0 +1,74 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, char *pivot, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (name[i] == pivot)
+        printf (" <==");
+      else if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, char *pivot, int left, int right)
+{
+  int result = strcmp (name[left], pivot);
+  comparisons++;
+  display (name, pivot, left, right);
+  usleep (200000);
+  return result;
+}
+
+void quicksort (char **name, int left, int right)
+{
+  int p = (left + right) / 2;
+  char *pivot = name[p];
+  int l = left;
+  int r = right;
+  while (l < r)
+    {
+      while (l < r && compare (name, pivot, l, r - 1) < 0)
+        l++;
+      while (l < r && compare (name, pivot, r - 1, l) > 0)
+        r--;
+      if (l < r)
+        {
+          char *temp = name[r - 1];
+          name[r - 1] = name[l];
+          name[l] = temp;
+          l++;
+          r--;
+        }
+    }
+  if (r > left)
+    quicksort (name, left, r);
+  if (l < right)
+    quicksort (name, l, right);
+}
+
+void sort (char **name)
+{
+  int r = 0;
+  while (name[r])
+    r++;
+  quicksort (name, 0, r);
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, NULL, -1, -1);
+  return 0;
+}
diff --git a/20231207/qsort-3a.c b/20231207/qsort-3a.c
new file mode 100644
index 0000000..d3e757e
--- /dev/null
+++ b/20231207/qsort-3a.c
@@ -0,0 +1,74 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, char *pivot, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (name[i] == pivot)
+        printf (" <==");
+      else if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, char *pivot, int left, int right)
+{
+  int result = strcmp (name[left], pivot);
+  comparisons++;
+  display (name, pivot, left, right);
+  usleep (200000);
+  return result;
+}
+
+void quicksort (char **name, int left, int right)
+{
+  int p = (left + right) / 2;
+  char *pivot = name[p];
+  int l = left;
+  int r = right;
+  while (l < r)
+    {
+      while (l < r && compare (name, pivot, l, r - 1) < 0)
+        l++;
+      while (l < r && compare (name, pivot, r - 1, l) > 0)
+        r--;
+      if (l < r)
+        {
+          char *temp = name[r - 1];
+          name[r - 1] = name[l];
+          name[l] = temp;
+          l++;
+          r--;
+        }
+    }
+  if (r > left)
+    quicksort (name, left, r);
+  if (l < right)
+    quicksort (name, l, right);
+}
+
+void sort (char **name)
+{
+  int r = 0;
+  while (name[r])
+    r++;
+  quicksort (name, 0, r);
+}
+
+int main (void)
+{
+  char *name[] = { "Anna", "Berta", "Box", "Dieter", "Fritz", "Hans", "Heinrich", "Hugo",
+                   "Lisa", "Maria", "Otto", "Peter", "Siegfried", "Thomas", "Ulrich",
+                   "Zacharias", NULL };
+  sort (name);
+  display (name, NULL, -1, -1);
+  return 0;
+}
diff --git a/20231207/qsort-3b.c b/20231207/qsort-3b.c
new file mode 100644
index 0000000..0bafef4
--- /dev/null
+++ b/20231207/qsort-3b.c
@@ -0,0 +1,74 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, char *pivot, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (name[i] == pivot)
+        printf (" <==");
+      else if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, char *pivot, int left, int right)
+{
+  int result = strcmp (name[left], pivot);
+  comparisons++;
+  display (name, pivot, left, right);
+  usleep (200000);
+  return result;
+}
+
+void quicksort (char **name, int left, int right)
+{
+  int p = (left + right) / 2;
+  char *pivot = name[p];
+  int l = left;
+  int r = right;
+  while (l < r)
+    {
+      while (l < r && compare (name, pivot, l, r - 1) < 0)
+        l++;
+      while (l < r && compare (name, pivot, r - 1, l) > 0)
+        r--;
+      if (l < r)
+        {
+          char *temp = name[r - 1];
+          name[r - 1] = name[l];
+          name[l] = temp;
+          l++;
+          r--;
+        }
+    }
+  if (r > left)
+    quicksort (name, left, r);
+  if (l < right)
+    quicksort (name, l, right);
+}
+
+void sort (char **name)
+{
+  int r = 0;
+  while (name[r])
+    r++;
+  quicksort (name, 0, r);
+}
+
+int main (void)
+{
+  char *name[] = { "Zacharias", "Ulrich", "Thomas", "Siegfried", "Peter", "Otto", "Maria",
+                   "Lisa", "Hugo", "Heinrich", "Hans", "Fritz", "Dieter", "Box", "Berta",
+                   "Anna", NULL };
+  sort (name);
+  display (name, NULL, -1, -1);
+  return 0;
+}
diff --git a/20231207/sort-0.c b/20231207/sort-0.c
new file mode 100644
index 0000000..70e0e71
--- /dev/null
+++ b/20231207/sort-0.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+int find_first (char **name)
+{
+  return 2;
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  int first = find_first (name);
+  printf ("%s\n", name[first]);
+  return 0;
+}
diff --git a/20231207/sort-1.c b/20231207/sort-1.c
new file mode 100644
index 0000000..3f009d4
--- /dev/null
+++ b/20231207/sort-1.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <string.h>
+
+int find_first (char **name)
+{
+  int first = 0;
+  for (int i = 1; name[i]; i++)
+    if (strcmp (name[i], name[first]) < 0)
+      first = i;
+  return first;
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  int first = find_first (name);
+  printf ("%s\n", name[first]);
+  return 0;
+}
diff --git a/20231207/sort-1a.c b/20231207/sort-1a.c
new file mode 100644
index 0000000..e60f103
--- /dev/null
+++ b/20231207/sort-1a.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <string.h>
+
+int find_first (char **name)
+{
+  int first = 0;
+  for (int i = 1; name[i]; i++)
+    if (strcmp (name[i], name[first]) < 0)
+      first = i;
+  return first;
+}
+
+int main (void)
+{
+  char *name[] = { "otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  int first = find_first (name);
+  printf ("%s\n", name[first]);
+  return 0;
+}
diff --git a/20231207/sort-2.c b/20231207/sort-2.c
new file mode 100644
index 0000000..638e6e2
--- /dev/null
+++ b/20231207/sort-2.c
@@ -0,0 +1,46 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+int find_first (char **name)
+{
+  int first = 0;
+  for (int i = 1; name[i]; i++)
+    if (compare (name, i, first) < 0)
+      first = i;
+  return first;
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  int first = find_first (name);
+  display (name, first, -1);
+  return 0;
+}
diff --git a/20231207/sort-3.c b/20231207/sort-3.c
new file mode 100644
index 0000000..430a6fc
--- /dev/null
+++ b/20231207/sort-3.c
@@ -0,0 +1,46 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+int find_first (char **name, int i0)
+{
+  int first = i0;
+  for (int i = i0 + 1; name[i]; i++)
+    if (compare (name, i, first) < 0)
+      first = i;
+  return first;
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  int first = find_first (name, 0);
+  display (name, first, -1);
+  return 0;
+}
diff --git a/20231207/sort-4.c b/20231207/sort-4.c
new file mode 100644
index 0000000..19d4f41
--- /dev/null
+++ b/20231207/sort-4.c
@@ -0,0 +1,59 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+int find_first (char **name, int i0)
+{
+  int first = i0;
+  for (int i = i0 + 1; name[i]; i++)
+    if (compare (name, i, first) < 0)
+      first = i;
+  return first;
+}
+
+void sort (char **name)
+{
+  int sorted = 0;
+  while (name[sorted])
+    {
+      int first = find_first (name, sorted);
+      char *temp = name[sorted];
+      name[sorted] = name[first];
+      name[first] = temp;
+      sorted++;
+    }
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/sort-4a.c b/20231207/sort-4a.c
new file mode 100644
index 0000000..8312d2b
--- /dev/null
+++ b/20231207/sort-4a.c
@@ -0,0 +1,59 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+int find_first (char **name, int i0)
+{
+  int first = i0;
+  for (int i = i0 + 1; name[i]; i++)
+    if (compare (name, i, first) < 0)
+      first = i;
+  return first;
+}
+
+void sort (char **name)
+{
+  int sorted = 0;
+  while (name[sorted])
+    {
+      int first = find_first (name, sorted);
+      char *temp = name[sorted];
+      name[sorted] = name[first];
+      name[first] = temp;
+      sorted++;
+    }
+}
+
+int main (void)
+{
+  char *name[] = { "Anna", "Berta", "Box", "Dieter", "Fritz", "Hans", "Heinrich", "Hugo",
+                   "Lisa", "Maria", "Otto", "Peter", "Siegfried", "Thomas", "Ulrich",
+                   "Zacharias", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/sort-5.c b/20231207/sort-5.c
new file mode 100644
index 0000000..f0742bc
--- /dev/null
+++ b/20231207/sort-5.c
@@ -0,0 +1,60 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200);
+  return result;
+}
+
+int find_first (char **name, int i0)
+{
+  int first = i0;
+  for (int i = i0 + 1; name[i]; i++)
+    if (compare (name, i, first) < 0)
+      first = i;
+  return first;
+}
+
+void sort (char **name)
+{
+  int sorted = 0;
+  while (name[sorted])
+    {
+      int first = find_first (name, sorted);
+      char *temp = name[sorted];
+      name[sorted] = name[first];
+      name[first] = temp;
+      sorted++;
+    }
+}
+
+int main (void)
+{
+  char *name[] = {
+                   #include "names.h"
+                   NULL
+                 };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/sort-6.c b/20231207/sort-6.c
new file mode 100644
index 0000000..94a1a16
--- /dev/null
+++ b/20231207/sort-6.c
@@ -0,0 +1,60 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+//  display (name, left, right);
+//  usleep (200);
+  return result;
+}
+
+int find_first (char **name, int i0)
+{
+  int first = i0;
+  for (int i = i0 + 1; name[i]; i++)
+    if (compare (name, i, first) < 0)
+      first = i;
+  return first;
+}
+
+void sort (char **name)
+{
+  int sorted = 0;
+  while (name[sorted])
+    {
+      int first = find_first (name, sorted);
+      char *temp = name[sorted];
+      name[sorted] = name[first];
+      name[first] = temp;
+      sorted++;
+    }
+}
+
+int main (void)
+{
+  char *name[] = {
+                   #include "names.h"
+                   NULL
+                 };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
diff --git a/20231207/sort-7.c b/20231207/sort-7.c
new file mode 100644
index 0000000..46132dd
--- /dev/null
+++ b/20231207/sort-7.c
@@ -0,0 +1,53 @@
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int comparisons = 0;
+
+void display (char **name, int left, int right)
+{
+  printf ("\e[H\e[J");
+  for (int i = 0; name[i]; i++)
+    {
+      printf ("%s", name[i]);
+      if (i == left || i == right)
+        printf (" <--");
+      printf ("\n");
+    }
+  printf ("%d\n", comparisons);
+}
+
+int compare (char **name, int left, int right)
+{
+  int result = strcmp (name[left], name[right]);
+  comparisons++;
+  display (name, left, right);
+  usleep (200000);
+  return result;
+}
+
+void sort (char **name)
+{
+  int sorted = 0;
+  while (name[sorted])
+    {
+      int first = sorted;
+      for (int i = sorted + 1; name[i]; i++)
+        if (compare (name, i, first) < 0)
+          first = i;
+      char *temp = name[sorted];
+      name[sorted] = name[first];
+      name[first] = temp;
+      sorted++;
+    }
+}
+
+int main (void)
+{
+  char *name[] = { "Otto", "Lisa", "Anna", "Heinrich", "Siegfried", "Peter",
+                   "Dieter", "Hugo", "Berta", "Maria", "Fritz", "Box", "Hans",
+                   "Thomas", "Ulrich", "Zacharias", NULL };
+  sort (name);
+  display (name, -1, -1);
+  return 0;
+}
-- 
GitLab