Advertisement
Guest User

Untitled

a guest
May 29th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. #ifndef TREE_H
  2. #define TREE_H
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <locale.h>
  7. #include <string.h>
  8.  
  9. struct Tree {
  10.     char* word;
  11.     struct Tree *left, *right;
  12. };
  13.  
  14. typedef struct Tree Node;
  15. void insert(Node**, char*);
  16. Node* search_min(Node*);
  17.  
  18. int main() {
  19.     Node *tree = NULL;
  20.     insert(&tree, "wow");
  21.     insert(&tree, "abba");
  22.     insert(&tree, "hello");
  23.     insert(&tree, "anna");
  24.     insert(&tree, "bitch");
  25.     insert(&tree, "cos");
  26.     search_min(tree);
  27.  
  28.     system("pause");
  29. }
  30.  
  31. void insert(Node **tree, char* new_word) {
  32.  
  33.     if (!(*tree)) {
  34.         *tree = (Node*)malloc(sizeof(Node));
  35.         (*tree)->left = (*tree)->right = NULL;
  36.         (*tree)->word = new_word;
  37.  
  38.         return;
  39.     }
  40.  
  41.     if (strcmp(new_word, (*tree)->word) == 0) {
  42.         return;
  43.     } else if (strcmp(new_word, (*tree)->word) > 0) {
  44.         insert(&(*tree)->right, new_word);
  45.     } else {
  46.         insert(&(*tree)->left, new_word);
  47.     }
  48.  
  49. }
  50.  
  51.  
  52. Node* search_min(Node* tree){
  53.  
  54.     if (tree->left){
  55.         search_min(tree->left);
  56.     }
  57.     else{
  58.         printf("%s", tree->word);
  59.         return tree;
  60.     }
  61.  
  62. }
  63.  
  64. #endif //CTREE_TREE_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement