#include using namespace std; class Node { public: int key; Node * left; Node * right; Node () : key (0), left (nullptr), right (nullptr) { } }; Node* find (Node* start, int value) // ve stromu s korenem start hledame klic value // vysledkem je ukazatel na nalezeny uzel nebo null { while (start != nullptr && start->key != value) { if (value < start->key) start = start-> left; else start = start->right; } return start; } Node* search(Node* start, int value) { if (start == nullptr) return nullptr; else if (start->key == value) return start; else if (value < start->key) return search (start->left, value); else return search(start->right, value); } void insert (Node* & start, int value) { if (start == nullptr) { start = new Node; start->key = value; // start->left = nullptr; // start->right = nullptr; } else if (start->key == value) { } else if (value < start->key) insert (start->left, value); else insert (start->right, value); } void print ( Node * start, int ) Node* root = nullptr; int main() { insert(root, 10); insert(root, 5); insert(root, 20); insert(root, 2); insert(root, 7); Node * t = find(root, 7); if (t != nullptr) cout << "Nasel jsem" << endl; cout << "O.K." << endl; }