• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/zebra/ospf6d/

Lines Matching refs:tree

32 bintree_lookup (void *data, struct bintree *tree)
37 node = tree->root;
41 if (tree->cmp)
42 cmp = (*tree->cmp) (node->data, data);
62 bintree_lookup_min (struct bintree *tree)
65 node = bintree_lookup_node_min (tree->root);
72 bintree_lookup_max (struct bintree *tree)
75 node = bintree_lookup_node_max (tree->root);
82 bintree_add (void *data, struct bintree *tree)
87 node = tree->root;
92 if (tree->cmp)
93 cmp = (*tree->cmp) (node->data, data);
112 node->tree = tree;
132 tree->root = node;
134 tree->count++;
144 node->tree->root = NULL;
159 node->tree->root = node->bl_left;
173 node->tree->root = node->bl_right;
188 bintree_remove (void *data, struct bintree *tree)
193 node = tree->root;
197 if (tree->cmp)
198 cmp = (*tree->cmp) (node->data, data);
218 tree->count--;
227 tree->count--;
238 /* remove successor from tree */
259 tree->root = successor;
264 tree->count--;
275 bintree_head (struct bintree *tree, struct bintree_node *node)
279 head = bintree_lookup_node_min (tree->root);
289 node->tree = head->tree;
326 if (node->tree->root == NULL)
328 assert (node->tree->count == 0);
335 else if (node->tree->root->data != node->data)
336 next = node->tree->root;
364 node->tree = next->tree;
383 struct bintree *tree;
385 tree = malloc (sizeof (struct bintree));
386 memset (tree, 0, sizeof (struct bintree));
388 return tree;
392 bintree_delete (struct bintree *tree)
396 for (bintree_head (tree, &node); ! bintree_end (&node);
398 bintree_remove (node.data, tree);
400 assert (tree->count == 0);
401 free (tree);
430 bintree_print (void (*print) (int, void *), struct bintree *tree)
433 bintree_print_sub (print, tree->root);