Guest User

Untitled

a guest
Dec 15th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. void push(const std::string& k, T val)
  2. {
  3. Node* e(new Node);
  4. e->key = k; e->value = val;
  5. e->left = e->right = nullptr;
  6. if (root) push(root, e);
  7. else root = e;
  8. }
  9.  
  10. void push(Node*& s, Node*& e)
  11. {
  12. if (s) {
  13. if (s->key < e->key) push(s->right, e);
  14. else push(s->left, e);
  15. }
  16. else s = e;
  17. }
  18.  
  19. void push(Node*& s, Node* e)
  20. {
  21. Node** head = &s;
  22. while (*head != nullptr) {
  23. head = ((*head)->key < e->key) ? &(*head)->right : &(*head)->left;
  24. }
  25. *head = e;
  26. }
  27.  
  28. void push(const std::string& k, T val)
  29. {
  30. Node* e(new Node);
  31. e->key = k; e->value = val;
  32. e->left = e->right = nullptr;
  33. if (root) push(root, k) = e;
  34. else root = e;
  35. }
  36. Node*& push(Node*& s, const std::string& k)
  37. {
  38. if (s) {
  39. if (s->key < k) push(s->right, k);
  40. else push(s->left, k);
  41. }
  42. else return s;
  43. }
Add Comment
Please, Sign In to add comment