Object
|
+---DAvlTree
The avl tree collection class implements a number of methods for creating, inserting, searching and removing (elements in) an avl tree. The implementation is inspired by the book "Algorithms & Data structures" by N. Wirth.
#include <stdio.h>
#include "ofc/DAvlTree.h"
int main(int argc, char *argv[])
{
DAvlTree *tree = [DAvlTree alloc];
DText *key = [DText new ];
DText *val;
[tree init :[DText class]]; // Init tree, key is a DText object
[key set :"Key1"]; // Set key1 and create value1 for tree
val = [DText new]; [val set :"Value1"];
[tree insert :key :val];
[key set :"Key2"]; // Set key1 and create value1 for tree
val = [DText new]; [val set :"Value2"];
[tree insert :key :val]; // Create key2 and value2 for tree
printf("Number of elements:%ld\n", [tree length]); // Print tree length
[key set :"Key2"];
// Check key present
printf("%s is %s present in tree\n", [key cstring], ([tree has :key] ? "" : "not"));
val = [tree get :key];
printf("%s has value %s\n", [key cstring], (val != nil ? [val cstring] : "???"));
[tree free]; // Free tree and stored objects
[key free];
return 0;
}