Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- struct element {
- int val = NULL;
- element * left = nullptr, * right = nullptr;
- };
- void wstaw(element * & el, const int & wart) {
- if (!el->val)
- el->val = wart;
- else if (wart < el->val)
- if (el->left == nullptr)
- el->left = new element{ wart };
- else wstaw(el->left, wart);
- else if (wart >= el->val)
- if (el->right == nullptr)
- el->right = new element{ wart };
- else wstaw(el->right, wart);
- }
- // nie dziala jak el jest nie zainicjowany nie wiem czemu
- void wypisz(element * & el) {
- if (el == nullptr) return;
- if (el->left != nullptr)
- wypisz(el->left);
- std::cout << el->val << " ";
- if (el->right != nullptr)
- wypisz(el->right);
- }
- element * szukaj(element * el, const int & wart) {
- if (el == nullptr) return nullptr;
- if (el->val == wart)
- return el;
- else if (wart < el->val)
- return szukaj(el->left, wart);
- else
- return szukaj(el->right, wart);
- }
- void czysc(element * & el) {
- if (el->left != nullptr)
- czysc(el->left);
- if (el->right != nullptr)
- czysc(el->right);
- delete el;
- }
- int main()
- {
- element * el = new element;
- wstaw(el, 5);
- wstaw(el, 33);
- wstaw(el, -7);
- wstaw(el, 14);
- wstaw(el, 99);
- wstaw(el, -99);
- wstaw(el, 0);
- wstaw(el, 42);
- wypisz(el);
- std::cout << std::endl << szukaj(el, -99) << std::endl;
- czysc(el);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement