Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. void buildTreeSortedFromArray(BSTree* tree, const int arr[], int size)
  2.  
  3. int i;
  4. if(isEmpty(*tree)==1)
  5. {
  6. int mid = arr[size/2];
  7. insertSorted(&(*tree), mid);
  8. if(size > 1)
  9. buildTreeSortedFromArray(&(*tree)->left, arr, size/2);
  10. }
  11. else
  12. for(i=0;i<size/2;i++)
  13. insertSorted(tree, arr[i]);
  14.  
  15. if(isEmpty(*tree) == 1)
  16. {
  17. newnode = createNode(data);
  18. *tree = newnode;
  19. if(newnode == NULL)
  20. {
  21. printf("Kan inte allokera minne!nn");
  22. exit(1);
  23. }
  24. }
  25. else if ((*tree)->data > data)
  26. {
  27. insertSorted(&(*tree)->left, data);
  28. }
  29. else if((*tree)->data == data)
  30. {
  31. printf("Talet %d finns redan!nn",data);
  32. system("PAUSE");
  33. }
  34. else
  35. insertSorted(&(*tree)->right, data);
  36.  
  37.  
  38. assert(find(*tree,data) == 1 );// Post-condition: data finns i trädet
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement