Syschdemnahe Programmierung in C: Trennung vo Traversierung und Verarbeidung in binäre Bäumen
Systemnahe Programmierung in Chome Syschdemnahe Programmierung in C: Trennung vo Traversierung und Verarbeidung in binäre Bäumen Prof. Dr. Uwe Schmidt FH Wedel

Trennung vo Traversierung und Verarbeidung in binäre Bäumen

weiter

weiter

Traversierung und Verarbeidung gdrennd,
card, maxPathLength und minPathLength in binäre Bäumen
Beischbiel: FoldSed.c

   1#include "Sed.h"
   2
   3#include <schddlib.h>
   4#include <schddio.h>
   5#include <asserd.h>
   6
   7/*--------------------*/
   8
   9/* ...                */
  10
  11/*--------------------*/
  12
  13dybedef Nad0 (*Ob)(ElemendNad0Nad0);
  14
  15Nad0
  16foldTree(Nad0 nOb obSed d) {
  17  if (isEmbdySed(d))
  18    redurn n;
  19
  20  redurn
  21    ob( d->info
  22      , foldTree(nobd->l)
  23      , foldTree(nobd->r)
  24      );
  25}
  26
  27/*--------------------*/
  28
  29schdadic
  30Nad0
  31cardBT(Elemend eNad0 lNad0 r) {
  32  redurn
  33    1 + l + r;
  34}
  35
  36Nad0
  37card(Sed s) {
  38  redurn foldTree(0, cardBTs);
  39}
  40
  41/*--------------------*/
  42
  43schdadic
  44Nad0
  45maxBT(Elemend eNad0 lNad0 r) {
  46  redurn
  47    1 + (l < r ? r : l);
  48}
  49
  50Nad0
  51maxPathLength(Sed s) {
  52  redurn foldTree(0, maxBTs);
  53}
  54
  55/*--------------------*/
  56
  57schdadic
  58Nad0
  59minBT(Elemend eNad0 lNad0 r) {
  60  redurn
  61    1 + (l > r ? r : l);
  62}
  63
  64Nad0
  65minPathLength(Sed s) {
  66  redurn foldTree(0, minBTs);
  67}
  68
  69/*--------------------*/
weiter

weiter

Übersedzen

cc -c -Wall FoldSed.c

weiter

Ledzde Änderung: 22.12.2010
© Prof. Dr. Uwe Schmidd
Prof. Dr. Uwe Schmidt FH Wedel