aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--btree.cpp16
-rw-r--r--list.cpp25
2 files changed, 26 insertions, 15 deletions
diff --git a/btree.cpp b/btree.cpp
index 8c32b1f..741c8f7 100644
--- a/btree.cpp
+++ b/btree.cpp
@@ -40,22 +40,24 @@ BinaryTree<T> *insert(BinaryTree<T> *tree, T value)
break;
}
- if (*node) {
+ if (*node)
+ {
*node = insert(*node, value);
return tree;
}
- *node = new BinaryTree<T>;
+ *node = new BinaryTree<T>;
(*node)->value = value;
(*node)->left = (*node)->right = nullptr;
- (*node)->compare = tree->compare;
+ (*node)->compare = tree->compare;
return tree;
}
int main(void)
{
- auto tree = new BinaryTree<int>;
- tree->value = 5;
- tree->compare = [](int x, int y) {
+ auto tree = new BinaryTree<int>;
+ tree->value = 5;
+ tree->compare = [](int x, int y)
+ {
if (x < y)
return LT;
else if (x > y)
@@ -65,9 +67,7 @@ int main(void)
};
for (int i = 0; i <= 5; ++i)
- {
tree = insert(tree, i * 2);
- }
std::cout << tree->left->value << ", "
<< tree->value << ", "
diff --git a/list.cpp b/list.cpp
index f5077f0..8697d06 100644
--- a/list.cpp
+++ b/list.cpp
@@ -4,8 +4,8 @@
*/
#include <cstdio>
-#include <iostream>
#include <cstdlib>
+#include <iostream>
template <typename T>
struct List
@@ -64,7 +64,7 @@ void map(List<T> *lst, U (*f)(T))
}
template <typename T>
-T reduce(List<T> *lst, T (*reducer) (T, T), T init = 0)
+T reduce(List<T> *lst, T (*reducer)(T, T), T init = 0)
{
if (!lst)
return init;
@@ -86,7 +86,7 @@ List<T> *filter(List<T> *lst, bool (*f)(T), List<T> *new_lst = nullptr)
}
template <typename T>
-std::ostream& operator<<(std::ostream& ostream, const List<T> *lst)
+std::ostream &operator<<(std::ostream &ostream, const List<T> *lst)
{
if (!lst)
return ostream;
@@ -107,15 +107,26 @@ int main(void)
std::cout << lst << std::endl;
puts("Reverse list again...");
printf("Map list with f(x) = 2x: ");
- map<int, int>(lst = reverse(lst), [](int x){ return x * 2; });
+ map<int, int>(lst = reverse(lst), [](int x) {
+ return x * 2;
+ });
std::cout << lst << std::endl;
puts("Reverse map...");
- map<int, int>(lst, [](int x){ return x / 2; });
+ map<int, int>(lst, [](int x) {
+ return x / 2;
+ });
printf("Sum all numbers in list: ");
- std::cout << reduce<int>(lst, [](int a, int b) { return a + b; }, 0)
+ std::cout << reduce<int>(
+ lst,
+ [](int a, int b) {
+ return a + b;
+ },
+ 0)
<< std::endl;
printf("Print all even numbers 1..10: ");
- auto evens = filter<int>(lst, [](int a) { return a % 2 == 0; });
+ auto evens = filter<int>(lst, [](int a) {
+ return a % 2 == 0;
+ });
std::cout << evens << std::endl;
delete lst;
delete evens;