Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.55 KB | None | 0 0
  1. // ====== this is in bst.c
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include "bst.h"
  5.  
  6. // Input: 'size': size of an array
  7. // Output: a pointer of type BStree,
  8. //         i.e. a pointer to an allocated memory of BStree_struct type
  9. // Effect: dynamically allocate memory of type BStree_struct
  10. //         allocate memory for a Node array of size+1 for member tree_nodes
  11. //         allocate memory for an unsigned int array of size+1 for member free_nodes
  12. //         set member size to 'size';
  13. //         set entry free_nodes[i] to i
  14. //         set member top to 1;
  15. //         set member root to 0;
  16. BStree bstree_ini(int size) {
  17.     BStree_struct *treePoint = (BStree_struct*)malloc(sizeof(BStree_struct));
  18.     treePoint->tree_nodes = (Node*)malloc((size + 1) * sizeof(Node));
  19.     treePoint->free_nodes = (unsigned int*)malloc((size + 1) * sizeof(unsigned int));
  20.     treePoint->size = size;
  21.     for (int i = 0; i < size; i++) {
  22.         treePoint->free_nodes[i] = i;
  23.     }
  24.     treePoint->top = 1;
  25.     treePoint->root = 0;
  26. }
  27.  
  28. // Input: 'bst': a binary search tree
  29. //        'key': a pointer to Key
  30. //        'data': an integer
  31. // Effect:'data' with 'key' is inserted into 'bst'
  32. //        if 'key' is already in 'bst', do nothing
  33. void bstree_insert(BStree bst, Key* key, Data data) {
  34.  
  35. }
  36.  
  37. // Input: 'bst': a binary search tree
  38. // Effect: print all the nodes in bst using in order traversal
  39. void bstree_traversal(BStree bst) {
  40.  
  41. }
  42.  
  43. // Input: 'bst': a binary search tree
  44. // Effect: all dynamic memory used by bst are freed
  45. void bstree_free(BStree bst) {
  46.     free(bst->tree_nodes);
  47.     free(bst->free_nodes);
  48.     free(bst);
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement