liblash

A bianry tree implementation used for game development from scratch
git clone git://holbrook.no/liblash.git
Log | Files | Refs | LICENSE

tree3.c (1186B)


      1 #include <stdio.h>
      2 #include <stdlib.h>
      3 
      4 #include "../lash_tree3.h"
      5 #include "../lash_tree3_dump.h"
      6 
      7 typedef struct treeitem {
      8 	char *something;
      9 	lash_tree_key_t val;
     10 } treeitem;
     11 
     12 typedef struct treeitem2 {
     13 	lash_tree_key_t val;
     14 	char *something;
     15 } treeitem2;
     16 
     17 // Simple push and pull  test
     18 
     19 int main() {
     20 	lash_tree_t *tree = NULL;
     21 	lash_tree_t *tree2 = NULL;
     22 	treeitem passitem;
     23 	treeitem2 passitem2;
     24 	void *resultitem;
     25 	
     26 	char teststring[255];
     27 	char teststring2[255];
     28 	
     29 	tree = lash_treeInit(tree, 10);
     30 	if (tree == NULL)
     31 		return 1;
     32 
     33 	tree2 = lash_treeInit(tree2, 10);
     34 	if (tree2 == NULL)
     35 		return 1;
     36 		
     37 	lash_treeDumpInit(2);
     38 	lash_treeDumpAdd(tree2, "treetwo");
     39 	lash_treeDumpAdd(tree, "treeone");
     40 	
     41 	sprintf(teststring, "one");
     42 	sprintf(teststring2, "two");
     43 	
     44 	passitem.val = 20;
     45 	passitem.something = teststring2;
     46 	
     47 	passitem2.val = 10;
     48 	passitem2.something = teststring;
     49 	
     50 	lash_treePush(tree, &passitem2, NULL);
     51 	lash_treePush(tree, &passitem, &passitem.val);
     52 	
     53 	lash_treeDump(NULL, "dump of both trees");
     54 	
     55 	lash_treeShift(tree, &resultitem);
     56 
     57 	lash_treeDump(tree, "dump of specified tree");
     58 
     59 	lash_treeDumpFree();
     60 	
     61 	lash_treeFree(tree);
     62 	lash_treeFree(tree2);
     63 	
     64 	return 0;
     65 }