Website Summary Files Commits Branches @commit @diff @stats
path: root / Seminar08 / min-max-elem.cpp
diff options
context:
space:
mode:
Commit7eee5a78005a9a569186d2c8b4b645a818ab9bf1 (patch)
Author
 Stoycho Kyosev <skyosev@192.168.100.17>
2024-10-06 07:04:44 -0400
Committer
 Stoycho Kyosev <skyosev@192.168.100.17>
2024-10-06 07:04:44 -0400
Files84594e0af29cefa5aae76ace5f8eb81484400e31 /Seminar08/min-max-elem.cpp
Data-structures-and-algorithms-7eee5a78005a9a569186d2c8b4b645a818ab9bf1.tar
Data-structures-and-algorithms-7eee5a78005a9a569186d2c8b4b645a818ab9bf1.tar.gz
Data-structures-and-algorithms-7eee5a78005a9a569186d2c8b4b645a818ab9bf1.zip
Parent0841635826cb03c0e74cd75ec3c97c4c3b594d8b (diff)
Cleanup
1 files changed, 0 insertions, 64 deletions
-rw-r--r--Seminar08/min-max-elem.cpp64
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 <cmath>
-
-// for regular binary trees
-template <typename T>
-T max_elem(Tree<T> *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 <typename T>
-T min_elem(Tree<T> *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 <typename T>
-T max_elem_bst(Tree<T> *tree) {
- while (tree->right != nullptr)
- tree = tree->right;
-
- return tree->data;
-}
-
-template <typename T>
-T min_elem_bst(Tree<T> *tree) {
- while (tree->left != nullptr)
- tree = tree->left;
-
- return tree->data;
-}
-
-int main() {
- Tree<int> *regularTree = new Tree<int>(2, new Tree<int>(3, new Tree<int>(4), new Tree<int>(5)), new Tree<int>(13, new Tree<int>(7), new Tree<int>(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<int> *binarySearchTree = new Tree<int>(8, new Tree<int>(3, new Tree<int>(1), new Tree<int>(6, new Tree<int>(4), new Tree<int>(7))), new Tree<int>(10, nullptr, new Tree<int>(14, new Tree<int>(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