From 8ed5c590bdff3887370c1334e0534b92fcac57ad Mon Sep 17 00:00:00 2001 From: salexkon Date: Sat, 22 Feb 2025 15:17:06 +0000 Subject: [PATCH 1/9] task_01_done_v1.0 --- task_01/src/main.cpp | 36 +++++++++++++++++++++++++++++++++++- task_01/src/task_01.cpp | 22 ++++++++++++++++++++++ task_01/src/task_01.hpp | 3 +++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 task_01/src/task_01.cpp create mode 100644 task_01/src/task_01.hpp diff --git a/task_01/src/main.cpp b/task_01/src/main.cpp index 0e4393b..635dc4b 100644 --- a/task_01/src/main.cpp +++ b/task_01/src/main.cpp @@ -1,3 +1,37 @@ #include +#include +#include "task_01.hpp" -int main() { return 0; } + +std::vector find_two_nums(int val, std::vector arr){ + std::vector ans{}; + int* p_begin = &arr[0]; + int* p_end = &arr[arr.size() - 1]; + while(p_begin != p_end){ + int real_val = *p_begin +*p_end; + if (real_val < val){ + p_begin += 1; + } + else if (real_val > val){ + p_end -= 1; + } + else{ + ans.push_back(*p_begin); + ans.push_back(*p_end); + return ans; + } + + } + throw std::runtime_error("Нет таких чисел"); +}; + +int main() { + + std::vector test = {1,2,4,5,7,10}; + int a = 0; + // int* p_begin = &test[0]; + // int* p_end = &test[test.size() - 1]; + // std::cout << *p_begin +*p_end << std::endl; + std::cout << find_two_nums(a, test)[0] << " " << find_two_nums(a, test)[1] << std::endl; + return 0; +} diff --git a/task_01/src/task_01.cpp b/task_01/src/task_01.cpp new file mode 100644 index 0000000..42844d7 --- /dev/null +++ b/task_01/src/task_01.cpp @@ -0,0 +1,22 @@ +#include "task_01.hpp" + +std::vector find_two_nums(int val, std::vector arr){ + std::vector ans{}; + int* p_begin = &arr[0]; + int * p_end = &arr[-1]; + while(p_begin != p_end){ + int real_val = *p_begin + *p_end; + if (real_val < val){ + p_begin += 1; + } + else if (real_val > val){ + p_end -= 1; + } + else{ + ans.push_back(*p_begin); + ans.push_back(*p_end); + return ans; + } + + } +}; \ No newline at end of file diff --git a/task_01/src/task_01.hpp b/task_01/src/task_01.hpp new file mode 100644 index 0000000..1164068 --- /dev/null +++ b/task_01/src/task_01.hpp @@ -0,0 +1,3 @@ +#include + +std::vector find_two_nums(int val, std::vector arr); \ No newline at end of file From a182b474bcba149f37a599d4fb291e9a02d43096 Mon Sep 17 00:00:00 2001 From: salexkon Date: Sat, 22 Feb 2025 19:52:44 +0000 Subject: [PATCH 2/9] task_02_done_v1.0 --- task_02/src/main.cpp | 31 ++++++++++++++++++++++++++++- task_02/src/stack.hpp | 45 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 66 insertions(+), 10 deletions(-) diff --git a/task_02/src/main.cpp b/task_02/src/main.cpp index 0e4393b..d30d36c 100644 --- a/task_02/src/main.cpp +++ b/task_02/src/main.cpp @@ -1,3 +1,32 @@ #include +#include "stack.hpp" +// #include "stack.cpp" -int main() { return 0; } +int main() { + Stack st {}; + st.push(5); + st.push(4); + st.push(3); + st.push(7); + st.push(8); + std::cout << st.pop() << " " << st.pop() << " " << st.pop() << " " << st.pop() << " "; + st.push(0); + std::cout << st.pop(); + + MinStack stm{}; + stm.push(5); + stm.push(7); + stm.push(3); + stm.push(0); + stm.push(1); + stm.push(-2); + std::cout << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " ; + // std::cout << stm.getmin() << stm.getmin() << stm.getmin(); + return 0; +} diff --git a/task_02/src/stack.hpp b/task_02/src/stack.hpp index 138ec40..cec116f 100644 --- a/task_02/src/stack.hpp +++ b/task_02/src/stack.hpp @@ -1,23 +1,50 @@ #pragma once -#include #include +#include + + +template class Stack { - public: - void Push(int value); - int Pop(); + public: + void push(T value) { data_.push_back(value); } + T pop() { + T result = data_.back(); + data_.pop_back(); + return result; + } private: - std::stack data_; + std::vector data_; }; +template class MinStack { public: - void Push(int value); - int Pop(); - int GetMin(); + void push(T value) { + data_.push_back(value); + if(data_mins.size() == 0 || value <= data_mins.back()){ + data_mins.push_back(value); + } else{ + data_mins.push_back(data_mins.back()); + } + } + T pop() { + T result = data_.back(); + data_.pop_back(); + data_mins.pop_back(); + return result; + } + + T getmin() { + if(data_mins.size() == 0){ + throw std::runtime_error("Пустой стек - нет минимума"); + } + return data_mins.back(); + } private: - std::vector data_; + std::vector data_; + std::vector data_mins; }; From de61e8a2e6b12b1a7899595b364294209655007b Mon Sep 17 00:00:00 2001 From: salexkon Date: Sat, 1 Mar 2025 08:10:11 +0000 Subject: [PATCH 3/9] nv --- task_01/src/main.cpp | 6 +++++- task_02/src/stack.cpp | 30 ++++++++++++++++++++++-------- task_05/src/main.cpp | 7 +++++++ task_07/src/main.cpp | 4 ++++ task_07/src/tree.hpp | 12 ++++++++++++ 5 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 task_07/src/tree.hpp diff --git a/task_01/src/main.cpp b/task_01/src/main.cpp index 635dc4b..ce35457 100644 --- a/task_01/src/main.cpp +++ b/task_01/src/main.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "task_01.hpp" @@ -32,6 +33,9 @@ int main() { // int* p_begin = &test[0]; // int* p_end = &test[test.size() - 1]; // std::cout << *p_begin +*p_end << std::endl; - std::cout << find_two_nums(a, test)[0] << " " << find_two_nums(a, test)[1] << std::endl; + // std::cout << find_two_nums(a, test)[0] << " " << find_two_nums(a, test)[1] << std::endl; + test.back(); + a = test.back(); + std::cout << a << std::endl; return 0; } diff --git a/task_02/src/stack.cpp b/task_02/src/stack.cpp index 8ca8990..6d19115 100644 --- a/task_02/src/stack.cpp +++ b/task_02/src/stack.cpp @@ -1,21 +1,35 @@ #include "stack.hpp" -#include +#include +#include -void Stack::Push(int value) { data_.push(value); } +void Stack::push(int value) { data_.push_back(value); } -int Stack::Pop() { - auto result = data_.top(); - data_.pop(); +int Stack::pop() { + int result = data_.back(); + data_.pop_back(); return result; } -void MinStack::Push(int value) { data_.push_back(value); } +void MinStack::push(int value) { + data_.push_back(value); + if(data_mins.size() == 0 || value <= data_mins.back()){ + data_mins.push_back(value); + } else{ + data_mins.push_back(data_mins.back()); + } +} -int MinStack::Pop() { +int MinStack::pop() { auto result = data_.back(); data_.pop_back(); + data_mins.pop_back(); return result; } -int MinStack::GetMin() { return *std::min_element(data_.begin(), data_.end()); } \ No newline at end of file +int MinStack::getmin() { + if(data_mins.size() == 0){ + throw std::runtime_error("Пустой стек - нет минимума"); + } + return data_mins.back(); +} \ No newline at end of file diff --git a/task_05/src/main.cpp b/task_05/src/main.cpp index 0e4393b..c8a6a55 100644 --- a/task_05/src/main.cpp +++ b/task_05/src/main.cpp @@ -1,3 +1,10 @@ #include +#include + + +int merge_sort(std::vector vec){ + +}; + int main() { return 0; } diff --git a/task_07/src/main.cpp b/task_07/src/main.cpp index 0e4393b..0dd0e69 100644 --- a/task_07/src/main.cpp +++ b/task_07/src/main.cpp @@ -1,3 +1,7 @@ #include + + + + int main() { return 0; } diff --git a/task_07/src/tree.hpp b/task_07/src/tree.hpp new file mode 100644 index 0000000..715257a --- /dev/null +++ b/task_07/src/tree.hpp @@ -0,0 +1,12 @@ +#include + + +class Tree{ + public: + int add(int val); + int pop(); + private: + std::vector data; + int sift_up(int item); + int sift_down(int item); +}; \ No newline at end of file From d12a6b77311dc388970c272ed5a797a806978552 Mon Sep 17 00:00:00 2001 From: salexkon Date: Sat, 12 Apr 2025 08:30:36 +0000 Subject: [PATCH 4/9] . --- task_01/src/main.cpp | 2 +- task_01/src/task_01.cpp | 2 +- task_01/src/task_01.hpp | 2 +- task_02/src/main.cpp | 8 +++--- task_02/src/stack.cpp | 60 +++++++++++++++++++++-------------------- task_02/src/stack.hpp | 3 +++ 6 files changed, 41 insertions(+), 36 deletions(-) diff --git a/task_01/src/main.cpp b/task_01/src/main.cpp index ce35457..e517ebd 100644 --- a/task_01/src/main.cpp +++ b/task_01/src/main.cpp @@ -33,7 +33,7 @@ int main() { // int* p_begin = &test[0]; // int* p_end = &test[test.size() - 1]; // std::cout << *p_begin +*p_end << std::endl; - // std::cout << find_two_nums(a, test)[0] << " " << find_two_nums(a, test)[1] << std::endl; + // std::cout << find_nums(a, test)[0] << " " << find_nums(a, test)[1] << std::endl; test.back(); a = test.back(); std::cout << a << std::endl; diff --git a/task_01/src/task_01.cpp b/task_01/src/task_01.cpp index 42844d7..6714fc4 100644 --- a/task_01/src/task_01.cpp +++ b/task_01/src/task_01.cpp @@ -1,6 +1,6 @@ #include "task_01.hpp" -std::vector find_two_nums(int val, std::vector arr){ +std::vector find_nums(int val, std::vector arr){ std::vector ans{}; int* p_begin = &arr[0]; int * p_end = &arr[-1]; diff --git a/task_01/src/task_01.hpp b/task_01/src/task_01.hpp index 1164068..9ff3c2e 100644 --- a/task_01/src/task_01.hpp +++ b/task_01/src/task_01.hpp @@ -1,3 +1,3 @@ #include -std::vector find_two_nums(int val, std::vector arr); \ No newline at end of file +std::vector find_nums(int val, std::vector arr); \ No newline at end of file diff --git a/task_02/src/main.cpp b/task_02/src/main.cpp index d30d36c..494b73b 100644 --- a/task_02/src/main.cpp +++ b/task_02/src/main.cpp @@ -9,9 +9,9 @@ int main() { st.push(3); st.push(7); st.push(8); - std::cout << st.pop() << " " << st.pop() << " " << st.pop() << " " << st.pop() << " "; - st.push(0); - std::cout << st.pop(); + // std::cout << st.pop() << " " << st.pop() << " " << st.pop() << " " << st.pop() << " "; + // st.push(0); + // std::cout << st.pop(); MinStack stm{}; stm.push(5); @@ -26,7 +26,7 @@ int main() { std::cout << stm.pop() << " " << stm.getmin() << std::endl; std::cout << stm.pop() << " " << stm.getmin() << std::endl; std::cout << stm.pop() << " " << stm.getmin() << std::endl; - std::cout << stm.pop() << " " ; + std::cout << stm.pop() << " " << stm.getmin(); // std::cout << stm.getmin() << stm.getmin() << stm.getmin(); return 0; } diff --git a/task_02/src/stack.cpp b/task_02/src/stack.cpp index 6d19115..7c0406d 100644 --- a/task_02/src/stack.cpp +++ b/task_02/src/stack.cpp @@ -1,35 +1,37 @@ -#include "stack.hpp" +// #include "stack.hpp" -#include -#include +// #include +// #include -void Stack::push(int value) { data_.push_back(value); } -int Stack::pop() { - int result = data_.back(); - data_.pop_back(); - return result; -} +// template +// void Stack::push(T value) { data_.push_back(value); } -void MinStack::push(int value) { - data_.push_back(value); - if(data_mins.size() == 0 || value <= data_mins.back()){ - data_mins.push_back(value); - } else{ - data_mins.push_back(data_mins.back()); - } -} +// int Stack::pop() { +// int result = data_.back(); +// data_.pop_back(); +// return result; +// } -int MinStack::pop() { - auto result = data_.back(); - data_.pop_back(); - data_mins.pop_back(); - return result; -} +// void MinStack::push(int value) { +// data_.push_back(value); +// if(data_mins.size() == 0 || value <= data_mins.back()){ +// data_mins.push_back(value); +// } else{ +// data_mins.push_back(data_mins.back()); +// } +// } -int MinStack::getmin() { - if(data_mins.size() == 0){ - throw std::runtime_error("Пустой стек - нет минимума"); - } - return data_mins.back(); -} \ No newline at end of file +// int MinStack::pop() { +// auto result = data_.back(); +// data_.pop_back(); +// data_mins.pop_back(); +// return result; +// } + +// int MinStack::getmin() { +// if(data_mins.size() == 0){ +// throw std::runtime_error("Пустой стек - нет минимума"); +// } +// return data_mins.back(); +// } \ No newline at end of file diff --git a/task_02/src/stack.hpp b/task_02/src/stack.hpp index cec116f..750c30d 100644 --- a/task_02/src/stack.hpp +++ b/task_02/src/stack.hpp @@ -19,6 +19,9 @@ class Stack { std::vector data_; }; + + + template class MinStack { public: From 42527137b9edef2d47fc7d3235774a1ecd9e19c8 Mon Sep 17 00:00:00 2001 From: salexkon Date: Sat, 12 Apr 2025 09:45:11 +0000 Subject: [PATCH 5/9] task_03_done --- task_03/src/main.cpp | 13 ++++++++++++- task_03/src/topology_sort.cpp | 18 ++++++++++++++++++ task_03/src/topology_sort.hpp | 5 +++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/task_03/src/main.cpp b/task_03/src/main.cpp index 0e4393b..1f71476 100644 --- a/task_03/src/main.cpp +++ b/task_03/src/main.cpp @@ -1,3 +1,14 @@ #include +#include +#include -int main() { return 0; } +#include "topology_sort.hpp" + +int main() { + std::vector data{0,2,4,-5,12,16,-1,-1,-5,4}; + std::vector res{heater_days(data)}; + for(int val : res){ + std::cout << val << " "; + } + return 0; +} diff --git a/task_03/src/topology_sort.cpp b/task_03/src/topology_sort.cpp index e53f670..13988a3 100644 --- a/task_03/src/topology_sort.cpp +++ b/task_03/src/topology_sort.cpp @@ -1 +1,19 @@ #include "topology_sort.hpp" + +std::vector heater_days(std::vector& temperatures) { + int n = temperatures.size(); + std::vector result(n, 0); + std::stack s; + + for (int i = 0; i < n; ++i) { + while (!s.empty() && temperatures[i] > temperatures[s.top()]) { + int prev_index = s.top(); + s.pop(); + result[prev_index] = i - prev_index; + } + s.push(i); + } + + return result; +} + diff --git a/task_03/src/topology_sort.hpp b/task_03/src/topology_sort.hpp index 6f70f09..0f62412 100644 --- a/task_03/src/topology_sort.hpp +++ b/task_03/src/topology_sort.hpp @@ -1 +1,6 @@ #pragma once +#include +#include + + +std::vector heater_days(std::vector& temperatures); \ No newline at end of file From d4f4bf08b57628301edecebdda3e9c4523b97a37 Mon Sep 17 00:00:00 2001 From: salexkon Date: Sat, 12 Apr 2025 09:50:54 +0000 Subject: [PATCH 6/9] . --- task_01/src/main.cpp | 61 ++++++++++++++--------------- task_01/src/task_01.cpp | 33 +++++++--------- task_02/src/main.cpp | 52 ++++++++++++------------ task_02/src/stack.cpp | 5 +-- task_02/src/stack.hpp | 69 ++++++++++++++++++++++++++------ task_02/src/test.cpp | 74 +++++++++++++++++------------------ task_03/src/main.cpp | 16 ++++---- task_03/src/topology_sort.cpp | 27 ++++++------- task_03/src/topology_sort.hpp | 3 +- 9 files changed, 188 insertions(+), 152 deletions(-) diff --git a/task_01/src/main.cpp b/task_01/src/main.cpp index e517ebd..eda794c 100644 --- a/task_01/src/main.cpp +++ b/task_01/src/main.cpp @@ -1,41 +1,38 @@ #include #include #include -#include "task_01.hpp" +#include "task_01.hpp" -std::vector find_two_nums(int val, std::vector arr){ - std::vector ans{}; - int* p_begin = &arr[0]; - int* p_end = &arr[arr.size() - 1]; - while(p_begin != p_end){ - int real_val = *p_begin +*p_end; - if (real_val < val){ - p_begin += 1; - } - else if (real_val > val){ - p_end -= 1; - } - else{ - ans.push_back(*p_begin); - ans.push_back(*p_end); - return ans; - } - +std::vector find_two_nums(int val, std::vector arr) { + std::vector ans{}; + int* p_begin = &arr[0]; + int* p_end = &arr[arr.size() - 1]; + while (p_begin != p_end) { + int real_val = *p_begin + *p_end; + if (real_val < val) { + p_begin += 1; + } else if (real_val > val) { + p_end -= 1; + } else { + ans.push_back(*p_begin); + ans.push_back(*p_end); + return ans; } - throw std::runtime_error("Нет таких чисел"); + } + throw std::runtime_error("Нет таких чисел"); }; -int main() { - - std::vector test = {1,2,4,5,7,10}; - int a = 0; - // int* p_begin = &test[0]; - // int* p_end = &test[test.size() - 1]; - // std::cout << *p_begin +*p_end << std::endl; - // std::cout << find_nums(a, test)[0] << " " << find_nums(a, test)[1] << std::endl; - test.back(); - a = test.back(); - std::cout << a << std::endl; - return 0; +int main() { + std::vector test = {1, 2, 4, 5, 7, 10}; + int a = 0; + // int* p_begin = &test[0]; + // int* p_end = &test[test.size() - 1]; + // std::cout << *p_begin +*p_end << std::endl; + // std::cout << find_nums(a, test)[0] << " " << find_nums(a, test)[1] << + // std::endl; + test.back(); + a = test.back(); + std::cout << a << std::endl; + return 0; } diff --git a/task_01/src/task_01.cpp b/task_01/src/task_01.cpp index 6714fc4..b3663bd 100644 --- a/task_01/src/task_01.cpp +++ b/task_01/src/task_01.cpp @@ -1,22 +1,19 @@ #include "task_01.hpp" -std::vector find_nums(int val, std::vector arr){ - std::vector ans{}; - int* p_begin = &arr[0]; - int * p_end = &arr[-1]; - while(p_begin != p_end){ - int real_val = *p_begin + *p_end; - if (real_val < val){ - p_begin += 1; - } - else if (real_val > val){ - p_end -= 1; - } - else{ - ans.push_back(*p_begin); - ans.push_back(*p_end); - return ans; - } - +std::vector find_nums(int val, std::vector arr) { + std::vector ans{}; + int* p_begin = &arr[0]; + int* p_end = &arr[-1]; + while (p_begin != p_end) { + int real_val = *p_begin + *p_end; + if (real_val < val) { + p_begin += 1; + } else if (real_val > val) { + p_end -= 1; + } else { + ans.push_back(*p_begin); + ans.push_back(*p_end); + return ans; } + } }; \ No newline at end of file diff --git a/task_02/src/main.cpp b/task_02/src/main.cpp index 494b73b..eacb0a9 100644 --- a/task_02/src/main.cpp +++ b/task_02/src/main.cpp @@ -1,32 +1,34 @@ #include + #include "stack.hpp" // #include "stack.cpp" int main() { - Stack st {}; - st.push(5); - st.push(4); - st.push(3); - st.push(7); - st.push(8); - // std::cout << st.pop() << " " << st.pop() << " " << st.pop() << " " << st.pop() << " "; - // st.push(0); - // std::cout << st.pop(); + std::vector vs{5, 4, 3, 7, 8}; + Stack st{vs}; + // st.push(5); + // st.push(4); + // st.push(3); + // st.push(7); + // st.push(8); + // std::cout << st.pop() << " " << st.pop() << " " << st.pop() << " " << + // st.pop() << " "; st.push(0); std::cout << st.pop() << " " << st.pop(); - MinStack stm{}; - stm.push(5); - stm.push(7); - stm.push(3); - stm.push(0); - stm.push(1); - stm.push(-2); - std::cout << stm.getmin() << std::endl; - std::cout << stm.pop() << " " << stm.getmin() << std::endl; - std::cout << stm.pop() << " " << stm.getmin() << std::endl; - std::cout << stm.pop() << " " << stm.getmin() << std::endl; - std::cout << stm.pop() << " " << stm.getmin() << std::endl; - std::cout << stm.pop() << " " << stm.getmin() << std::endl; - std::cout << stm.pop() << " " << stm.getmin(); - // std::cout << stm.getmin() << stm.getmin() << stm.getmin(); - return 0; + std::vector vsm{2, 1, 1, 1, 1}; + MinStack stm{vsm}; + // stm.push(5); + // stm.push(7); + // stm.push(3); + // stm.push(0); + // stm.push(1); + // stm.push(-2); + std::cout << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin() << std::endl; + std::cout << stm.pop() << " " << stm.getmin(); + // std::cout << stm.getmin() << stm.getmin() << stm.getmin(); + return 0; } diff --git a/task_02/src/stack.cpp b/task_02/src/stack.cpp index 7c0406d..568d7dd 100644 --- a/task_02/src/stack.cpp +++ b/task_02/src/stack.cpp @@ -3,7 +3,6 @@ // #include // #include - // template // void Stack::push(T value) { data_.push_back(value); } @@ -13,7 +12,7 @@ // return result; // } -// void MinStack::push(int value) { +// void MinStack::push(int value) { // data_.push_back(value); // if(data_mins.size() == 0 || value <= data_mins.back()){ // data_mins.push_back(value); @@ -33,5 +32,5 @@ // if(data_mins.size() == 0){ // throw std::runtime_error("Пустой стек - нет минимума"); // } -// return data_mins.back(); +// return data_mins.back(); // } \ No newline at end of file diff --git a/task_02/src/stack.hpp b/task_02/src/stack.hpp index 750c30d..a9b43f6 100644 --- a/task_02/src/stack.hpp +++ b/task_02/src/stack.hpp @@ -1,13 +1,17 @@ #pragma once -#include #include - - +#include template class Stack { - public: + public: + Stack(){}; + Stack(std::vector vec) { + for (auto val : vec) { + push(val); + } + } void push(T value) { data_.push_back(value); } T pop() { T result = data_.back(); @@ -19,17 +23,20 @@ class Stack { std::vector data_; }; - - - template class MinStack { public: - void push(T value) { + MinStack(){}; + MinStack(std::vector vec) { + for (auto val : vec) { + push(val); + } + } + void push(T value) { data_.push_back(value); - if(data_mins.size() == 0 || value <= data_mins.back()){ + if (data_mins.size() == 0 || value <= data_mins.back()) { data_mins.push_back(value); - } else{ + } else { data_mins.push_back(data_mins.back()); } } @@ -39,15 +46,51 @@ class MinStack { data_mins.pop_back(); return result; } - + T getmin() { - if(data_mins.size() == 0){ + if (data_mins.size() == 0) { throw std::runtime_error("Пустой стек - нет минимума"); } - return data_mins.back(); + return data_mins.back(); } private: std::vector data_; std::vector data_mins; }; + +template +class MaxStack { + public: + MaxStack(){}; + MaxStack(std::vector vec) { + for (auto val : vec) { + push(val); + } + } + void push(T value) { + data_.push_back(value); + if (data_maxs.size() == 0 || value >= data_maxs.back()) { + data_maxs.push_back(value); + } else { + data_maxs.push_back(data_maxs.back()); + } + } + T pop() { + T result = data_.back(); + data_.pop_back(); + data_maxs.pop_back(); + return result; + } + + T getmax() { + if (data_maxs.size() == 0) { + throw std::runtime_error("Пустой стек - нет минимума"); + } + return data_maxs.back(); + } + + private: + std::vector data_; + std::vector data_maxs; +}; \ No newline at end of file diff --git a/task_02/src/test.cpp b/task_02/src/test.cpp index 54e7ce9..001c475 100644 --- a/task_02/src/test.cpp +++ b/task_02/src/test.cpp @@ -1,42 +1,42 @@ -#include +// #include -#include +// #include -#include "stack.hpp" +// #include "stack.hpp" -TEST(StackTest, Simple) { - Stack stack; - stack.Push(1); // Stack [1] - ASSERT_EQ(stack.Pop(), 1); // Stack [] - stack.Push(1); // Stack [1] - stack.Push(2); // Stack [1, 2] - ASSERT_EQ(stack.Pop(), 2); // Stack [1] - ASSERT_EQ(stack.Pop(), 1); // Stack [] - stack.Push(1); // Stack [1] - stack.Push(2); // Stack [1, 2] - ASSERT_EQ(stack.Pop(), 2); // Stack [1] - stack.Push(3); // Stack [1, 3] - ASSERT_EQ(stack.Pop(), 3); // Stack [1] - ASSERT_EQ(stack.Pop(), 1); // Stack [] -} +// TEST(StackTest, Simple) { +// Stack stack; +// stack.Push(1); // Stack [1] +// ASSERT_EQ(stack.Pop(), 1); // Stack [] +// stack.Push(1); // Stack [1] +// stack.Push(2); // Stack [1, 2] +// ASSERT_EQ(stack.Pop(), 2); // Stack [1] +// ASSERT_EQ(stack.Pop(), 1); // Stack [] +// stack.Push(1); // Stack [1] +// stack.Push(2); // Stack [1, 2] +// ASSERT_EQ(stack.Pop(), 2); // Stack [1] +// stack.Push(3); // Stack [1, 3] +// ASSERT_EQ(stack.Pop(), 3); // Stack [1] +// ASSERT_EQ(stack.Pop(), 1); // Stack [] +// } -TEST(MinStackTest, Simple) { - MinStack stack; - stack.Push(1); // Stack [1] - ASSERT_EQ(stack.GetMin(), 1); - ASSERT_EQ(stack.Pop(), 1); // Stack [] - stack.Push(1); // Stack [1] - stack.Push(2); // Stack [1, 2] - ASSERT_EQ(stack.GetMin(), 1); - ASSERT_EQ(stack.Pop(), 2); // Stack [1] - ASSERT_EQ(stack.Pop(), 1); // Stack [] - stack.Push(1); // Stack [1] - stack.Push(2); // Stack [1, 2] - ASSERT_EQ(stack.GetMin(), 1); - ASSERT_EQ(stack.Pop(), 2); // Stack [1] - stack.Push(3); // Stack [1, 3] - ASSERT_EQ(stack.GetMin(), 1); - ASSERT_EQ(stack.Pop(), 3); // Stack [1] - ASSERT_EQ(stack.Pop(), 1); // Stack [] -} \ No newline at end of file +// TEST(MinStackTest, Simple) { +// MinStack stack; +// stack.Push(1); // Stack [1] +// ASSERT_EQ(stack.GetMin(), 1); +// ASSERT_EQ(stack.Pop(), 1); // Stack [] +// stack.Push(1); // Stack [1] +// stack.Push(2); // Stack [1, 2] +// ASSERT_EQ(stack.GetMin(), 1); +// ASSERT_EQ(stack.Pop(), 2); // Stack [1] +// ASSERT_EQ(stack.Pop(), 1); // Stack [] +// stack.Push(1); // Stack [1] +// stack.Push(2); // Stack [1, 2] +// ASSERT_EQ(stack.GetMin(), 1); +// ASSERT_EQ(stack.Pop(), 2); // Stack [1] +// stack.Push(3); // Stack [1, 3] +// ASSERT_EQ(stack.GetMin(), 1); +// ASSERT_EQ(stack.Pop(), 3); // Stack [1] +// ASSERT_EQ(stack.Pop(), 1); // Stack [] +// } \ No newline at end of file diff --git a/task_03/src/main.cpp b/task_03/src/main.cpp index 1f71476..74e0f86 100644 --- a/task_03/src/main.cpp +++ b/task_03/src/main.cpp @@ -1,14 +1,14 @@ #include -#include #include +#include #include "topology_sort.hpp" -int main() { - std::vector data{0,2,4,-5,12,16,-1,-1,-5,4}; - std::vector res{heater_days(data)}; - for(int val : res){ - std::cout << val << " "; - } - return 0; +int main() { + std::vector data{0, 2, 4, -5, 12, 16, -1, -1, -5, 4}; + std::vector res{heater_days(data)}; + for (int val : res) { + std::cout << val << " "; + } + return 0; } diff --git a/task_03/src/topology_sort.cpp b/task_03/src/topology_sort.cpp index 13988a3..ab0500e 100644 --- a/task_03/src/topology_sort.cpp +++ b/task_03/src/topology_sort.cpp @@ -1,19 +1,18 @@ #include "topology_sort.hpp" std::vector heater_days(std::vector& temperatures) { - int n = temperatures.size(); - std::vector result(n, 0); - std::stack s; - - for (int i = 0; i < n; ++i) { - while (!s.empty() && temperatures[i] > temperatures[s.top()]) { - int prev_index = s.top(); - s.pop(); - result[prev_index] = i - prev_index; - } - s.push(i); + int n = temperatures.size(); + std::vector result(n, 0); + std::stack s; + + for (int i = 0; i < n; ++i) { + while (!s.empty() && temperatures[i] > temperatures[s.top()]) { + int prev_index = s.top(); + s.pop(); + result[prev_index] = i - prev_index; } - - return result; -} + s.push(i); + } + return result; +} diff --git a/task_03/src/topology_sort.hpp b/task_03/src/topology_sort.hpp index 0f62412..24fa1e7 100644 --- a/task_03/src/topology_sort.hpp +++ b/task_03/src/topology_sort.hpp @@ -1,6 +1,5 @@ #pragma once -#include #include - +#include std::vector heater_days(std::vector& temperatures); \ No newline at end of file From 4d1b1fb3e2005a1fdd11683feba60281437e9aa9 Mon Sep 17 00:00:00 2001 From: salexkon Date: Sat, 26 Apr 2025 07:57:04 +0000 Subject: [PATCH 7/9] . --- task_01/src/main | Bin 0 -> 76112 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 task_01/src/main diff --git a/task_01/src/main b/task_01/src/main new file mode 100755 index 0000000000000000000000000000000000000000..695ad5eae9a769f79d12c2356476b5a257bc73dd GIT binary patch literal 76112 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 BU7i2{ literal 0 HcmV?d00001 From 508b45c40c75b4579e0145a6253b8fa440464ee2 Mon Sep 17 00:00:00 2001 From: salexkon Date: Sat, 26 Apr 2025 09:00:11 +0000 Subject: [PATCH 8/9] . --- task_02/src/stack.cpp | 36 ------------------------------------ task_05/src/main.cpp | 42 ++++++++++++++++++++++++++++++++++++++---- 2 files changed, 38 insertions(+), 40 deletions(-) delete mode 100644 task_02/src/stack.cpp diff --git a/task_02/src/stack.cpp b/task_02/src/stack.cpp deleted file mode 100644 index 568d7dd..0000000 --- a/task_02/src/stack.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// #include "stack.hpp" - -// #include -// #include - -// template -// void Stack::push(T value) { data_.push_back(value); } - -// int Stack::pop() { -// int result = data_.back(); -// data_.pop_back(); -// return result; -// } - -// void MinStack::push(int value) { -// data_.push_back(value); -// if(data_mins.size() == 0 || value <= data_mins.back()){ -// data_mins.push_back(value); -// } else{ -// data_mins.push_back(data_mins.back()); -// } -// } - -// int MinStack::pop() { -// auto result = data_.back(); -// data_.pop_back(); -// data_mins.pop_back(); -// return result; -// } - -// int MinStack::getmin() { -// if(data_mins.size() == 0){ -// throw std::runtime_error("Пустой стек - нет минимума"); -// } -// return data_mins.back(); -// } \ No newline at end of file diff --git a/task_05/src/main.cpp b/task_05/src/main.cpp index c8a6a55..aca2618 100644 --- a/task_05/src/main.cpp +++ b/task_05/src/main.cpp @@ -1,10 +1,44 @@ #include #include +std::vector a = {1, 2, 5}; -int merge_sort(std::vector vec){ - -}; +std::vector merge_arrs(std::vector& left, std::vector& right) { + auto p_left = &left[0]; + auto p_right = &right[0]; + std::vector result{}; + while (p_left != &left.back() && p_right != &right.back()) { + if (*p_left <= *p_right) { + result.push_back(*p_left); + p_left += 1; + } else { + result.push_back(*p_right); + p_right += 1; + } + } + return result; +} + +std::vector merge_sort(std::vector& vec) { + if (vec.size() == 1) { + return vec; + } + std::vector left = + std::vector(vec.begin(), vec.end() - int(vec.size() / 2)); + std::vector right = + std::vector(vec.end() - int(vec.size() / 2) + 1, vec.end()); + left = merge_sort(left); + right = merge_sort(right); + std::vector result = merge_arrs(left, right); + return result; +}; -int main() { return 0; } +int main() { + std::vector a = {1, 5, 3, 7, 9}; + a = merge_sort(a); + for (int i : a) { + std::cout << i << " "; + } + return 0; +} From b4408b1381a8f79c5a16cd29c407c0232e311d99 Mon Sep 17 00:00:00 2001 From: salexkon Date: Sat, 26 Apr 2025 09:15:07 +0000 Subject: [PATCH 9/9] clang_formatted --- task_02/src/main | Bin 0 -> 70072 bytes task_05/src/main | Bin 0 -> 104336 bytes task_07/src/main.cpp | 4 ---- task_07/src/tree.hpp | 16 ++++++++-------- 4 files changed, 8 insertions(+), 12 deletions(-) create mode 100755 task_02/src/main create mode 100755 task_05/src/main diff --git a/task_02/src/main b/task_02/src/main new file mode 100755 index 0000000000000000000000000000000000000000..adf205a237d2ccf325b5c89ee559b2817f014ee2 GIT binary patch literal 70072 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 L^RrQb=rQ|WAM4{M literal 0 HcmV?d00001 diff --git a/task_05/src/main b/task_05/src/main new file mode 100755 index 0000000000000000000000000000000000000000..02cee4fb1cc77a26f756d9a9c64a34846058a250 GIT binary patch literal 104336 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 uuK;W<{+0feE=k-(stAbVysBj0|KXK - - - - int main() { return 0; } diff --git a/task_07/src/tree.hpp b/task_07/src/tree.hpp index 715257a..c927334 100644 --- a/task_07/src/tree.hpp +++ b/task_07/src/tree.hpp @@ -1,12 +1,12 @@ #include +class Tree { + public: + int add(int val); + int pop(); -class Tree{ - public: - int add(int val); - int pop(); - private: - std::vector data; - int sift_up(int item); - int sift_down(int item); + private: + std::vector data; + int sift_up(int item); + int sift_down(int item); }; \ No newline at end of file