/* AGS 3.28 */ (a) int listtest(LPtr *l, int k) { LPtr h; h = *l; while ((h != NULL) && (h->key < k)) h = h->next; if ((h == NULL) || (h->key > k)) { listinsert(l, k); return 0; } return 1; } oder rekursiv: int listtest(LPtr *l, int k) { if (*l == NULL || (*l)->key > k) { listinsert(l, k); return 0; } else if ((*l)->key == k) return 1; return listtest(&(*l)->next, k); } (b) int treetest(BPtr t) { if (t == NULL) return 0; /* * liste ist globale Variable! */ return (listtest(&liste, t->key) || treetest(t->left) || treetest(t->right)); }