Systemnahe Programmierung in Chome Systemnahe Programmierung in C: Rekursive Strukturen Prof. Dr. Uwe Schmidt FH Wedel

Rekursive Strukturen

weiter

weiter

Rekursion: SO NICHT
Beispiel: wrong.c

   1struct wronglist
   2{
   3  int info;
   4  struct wronglist next;
   5};
weiter

weiter

Übersetzen

cc -c -Wall wrong.c

weiter

weiter

Rekursion: RICHTIG
Beispiel: ok.c

   1struct node
   2{
   3  int info;
   4  struct node *next;
   5};
weiter

weiter

Übersetzen

cc -c -Wall ok.c

weiter

weiter

Wechselseitige Rekursion
Beispiel: rec2.c

   1struct s1
   2{
   3  int        info;
   4  struct s2 *next;
   5};
   6
   7struct s2
   8{
   9  int        info;
  10  struct s1 *next;
  11};
  12
  13/* besser */
  14
  15typedef struct node1 *List1;
  16typedef struct node2 *List2;
  17
  18struct node1
  19{
  20  int   info1;
  21  List2 next1;
  22};
  23
  24struct node2
  25{
  26  int   info2;
  27  List1 next2;
  28};
  29
  30/* Vorwaertsreferenzen mit struct ... * moeglich */
weiter

weiter

Übersetzen

cc -c -Wall rec2.c

weiter

weiter

Verkettete Listen
Beispiel: list.c

   1typedef unsigned long Element;
   2
   3typedef struct node *List;
   4
   5struct node
   6{
   7  Element info;
   8  List next;
   9};
weiter

weiter

Übersetzen

cc -c -Wall list.c

weiter

Letzte Änderung: 11.01.2007
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel