From 7eee5a78005a9a569186d2c8b4b645a818ab9bf1 Mon Sep 17 00:00:00 2001 From: Stoycho Kyosev Date: Sun, 6 Oct 2024 07:04:44 -0400 Subject: Cleanup --- Seminar08/min-max-elem.cpp | 64 ---------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 Seminar08/min-max-elem.cpp (limited to 'Seminar08/min-max-elem.cpp') diff --git a/Seminar08/min-max-elem.cpp b/Seminar08/min-max-elem.cpp deleted file mode 100644 index cbd8560..0000000 --- a/Seminar08/min-max-elem.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "tree-utils.h" -#include - -// for regular binary trees -template -T max_elem(Tree *tree) { - T res = tree->data; - - if (tree->left != nullptr) { - res = std::max(res, max_elem(tree->left)); - } - if (tree->right != nullptr) { - res = std::max(res, max_elem(tree->right)); - } - - return res; -} - -template -T min_elem(Tree *tree) { - T res = tree->data; - - if (tree->left != nullptr) { - res = std::min(res, min_elem(tree->left)); - } - if (tree->right != nullptr) { - res = std::min(res, min_elem(tree->right)); - } - - return res; -} - -// for binary search trees -template -T max_elem_bst(Tree *tree) { - while (tree->right != nullptr) - tree = tree->right; - - return tree->data; -} - -template -T min_elem_bst(Tree *tree) { - while (tree->left != nullptr) - tree = tree->left; - - return tree->data; -} - -int main() { - Tree *regularTree = new Tree(2, new Tree(3, new Tree(4), new Tree(5)), new Tree(13, new Tree(7), new Tree(8))); - printTree(regularTree); - std::cout << "Maximum element in regular binary tree: " << max_elem(regularTree) << '\n'; - std::cout << "Minimum element in regular binary tree: " << min_elem(regularTree) << '\n'; - - Tree *binarySearchTree = new Tree(8, new Tree(3, new Tree(1), new Tree(6, new Tree(4), new Tree(7))), new Tree(10, nullptr, new Tree(14, new Tree(13)))); - printTree(binarySearchTree); - std::cout << "Maximum element in bs tree: " << max_elem_bst(binarySearchTree) << '\n'; - std::cout << "Minimum element in bs tree: " << min_elem_bst(binarySearchTree) << '\n'; - - freeTree(regularTree); - freeTree(binarySearchTree); - return 0; -} \ No newline at end of file -- cgit v1.3.1-26-gb76a