source: src/tests/avltree/avl1.c@ 7416d46a

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors deferred_resn demangler enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new with_gc
Last change on this file since 7416d46a was db67b11, checked in by Rob Schluntz <rschlunt@…>, 8 years ago

Fix avl_test to use stdlib include instead of 'delete' forward declaration

  • Property mode set to 100644
File size: 1.1 KB
Line 
1#include "avl.h"
2// #include "cwrap.h"
3#include <stdlib>
4
5forall(otype K | Comparable(K), otype V)
6void ?{}(tree(K, V) &t, K key, V value){
7 (t.key) { key };
8 (t.value) { value };
9 t.parent = NULL;
10 t.left = NULL;
11 t.right = NULL;
12 t.balance = 0;
13}
14
15forall(otype K, otype V)
16void ^?{}(tree(K, V) & t){
17 delete(t.left);
18 delete(t.right);
19 ^(t.key){};
20 ^(t.value){};
21}
22
23forall(otype K | Comparable(K), otype V)
24tree(K, V) * create(K key, V value) {
25 // infinite loop trying to resolve ... t = malloc();
26 tree(K, V) * t = malloc(sizeof(tree(K,V)));
27 (*t){ key, value };
28 return t;
29}
30
31// // Helper function to print trees
32// forall(otype K | Comparable(K), otype V)
33// void printTree(tree * t, int level){
34// if (empty(t)){
35// return;
36// }
37
38// printTree(t->left, level+1);
39// printf("key: %d, value: %s, level: %d\n", t->key, t->value, level);
40// printTree(t->right, level+1);
41// }
42
43// // inorder traversal of t
44// // prints each key, followed by the value
45// forall(otype K | Comparable(K), otype V)
46// void printTree(tree(K, V) * t){
47// printTree(t, 0);
48// }
Note: See TracBrowser for help on using the repository browser.