Skip to content

Commit 20840e3

Browse files
committed
revert other
1 parent ccf0e42 commit 20840e3

File tree

7 files changed

+52
-131
lines changed

7 files changed

+52
-131
lines changed

task_02/src/stack.cpp

Lines changed: 11 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,21 @@
11
#include "stack.hpp"
2-
#include <memory>
3-
#include <stdexcept>
42

5-
void Stack::Push(int value) {
6-
std::shared_ptr<Node> p(new Node(value));
7-
if (top == nullptr) {
8-
top = p;
9-
}
10-
if (top != nullptr) {
11-
p->next = top;
12-
}
13-
top = p;
14-
}
3+
#include <algorithm>
4+
5+
void Stack::Push(int value) { data_.push(value); }
156

167
int Stack::Pop() {
17-
if (top == nullptr) {
18-
throw std::logic_error("Stack Underflow");
19-
}
20-
int val = top->value;
21-
top = top->next;
22-
return val;
8+
auto result = data_.top();
9+
data_.pop();
10+
return result;
2311
}
2412

25-
void MinStack::Push(int value) {
26-
if (st1_.top == nullptr) {
27-
st1_.Push(value);
28-
st2_.Push(value);
29-
return;
30-
}
31-
32-
if (st1_.top->value > value) {
33-
st2_.Push(value);
34-
} else {
35-
st1_.Push(value);
36-
st2_.Push(st2_.top->value);
37-
}
38-
}
13+
void MinStack::Push(int value) { data_.push_back(value); }
3914

4015
int MinStack::Pop() {
41-
if (st1_.top == nullptr) {
42-
throw std::logic_error("Stack Underflow");
43-
}
44-
45-
int val = st1_.top->value;
46-
st1_.top = st1_.top->next;
47-
st2_.top = st2_.top->next;
48-
return val;
16+
auto result = data_.back();
17+
data_.pop_back();
18+
return result;
4919
}
5020

51-
int MinStack::GetMin() { return st2_.top->value; }
21+
int MinStack::GetMin() { return *std::min_element(data_.begin(), data_.end()); }

task_02/src/stack.hpp

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
11
#pragma once
2-
#include <iostream>
3-
#include <memory>
42

5-
struct Node {
6-
int value;
7-
std::shared_ptr<Node> next;
8-
Node(int value) : value(value) {}
9-
};
3+
#include <stack>
4+
#include <vector>
105

116
class Stack {
12-
public:
13-
Stack() { top = nullptr; }
7+
public:
148
void Push(int value);
159
int Pop();
16-
std::shared_ptr<Node> top;
10+
11+
private:
12+
std::stack<int> data_;
1713
};
1814

1915
class MinStack {
20-
public:
16+
public:
2117
void Push(int value);
2218
int Pop();
2319
int GetMin();
2420

25-
private:
26-
Stack st1_;
27-
Stack st2_;
21+
private:
22+
std::vector<int> data_;
2823
};

task_02/src/test.cpp

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,36 +7,36 @@
77

88
TEST(StackTest, Simple) {
99
Stack stack;
10-
stack.Push(1); // Stack [1]
11-
ASSERT_EQ(stack.Pop(), 1); // Stack []
12-
stack.Push(1); // Stack [1]
13-
stack.Push(2); // Stack [1, 2]
14-
ASSERT_EQ(stack.Pop(), 2); // Stack [1]
15-
ASSERT_EQ(stack.Pop(), 1); // Stack []
16-
stack.Push(1); // Stack [1]
17-
stack.Push(2); // Stack [1, 2]
18-
ASSERT_EQ(stack.Pop(), 2); // Stack [1]
19-
stack.Push(3); // Stack [1, 3]
20-
ASSERT_EQ(stack.Pop(), 3); // Stack [1]
21-
ASSERT_EQ(stack.Pop(), 1); // Stack []
10+
stack.Push(1); // Stack [1]
11+
ASSERT_EQ(stack.Pop(), 1); // Stack []
12+
stack.Push(1); // Stack [1]
13+
stack.Push(2); // Stack [1, 2]
14+
ASSERT_EQ(stack.Pop(), 2); // Stack [1]
15+
ASSERT_EQ(stack.Pop(), 1); // Stack []
16+
stack.Push(1); // Stack [1]
17+
stack.Push(2); // Stack [1, 2]
18+
ASSERT_EQ(stack.Pop(), 2); // Stack [1]
19+
stack.Push(3); // Stack [1, 3]
20+
ASSERT_EQ(stack.Pop(), 3); // Stack [1]
21+
ASSERT_EQ(stack.Pop(), 1); // Stack []
2222
}
2323

2424
TEST(MinStackTest, Simple) {
2525
MinStack stack;
26-
stack.Push(1); // Stack [1]
26+
stack.Push(1); // Stack [1]
2727
ASSERT_EQ(stack.GetMin(), 1);
28-
ASSERT_EQ(stack.Pop(), 1); // Stack []
29-
stack.Push(1); // Stack [1]
30-
stack.Push(2); // Stack [1, 2]
28+
ASSERT_EQ(stack.Pop(), 1); // Stack []
29+
stack.Push(1); // Stack [1]
30+
stack.Push(2); // Stack [1, 2]
3131
ASSERT_EQ(stack.GetMin(), 1);
32-
ASSERT_EQ(stack.Pop(), 2); // Stack [1]
33-
ASSERT_EQ(stack.Pop(), 1); // Stack []
34-
stack.Push(1); // Stack [1]
35-
stack.Push(2); // Stack [1, 2]
32+
ASSERT_EQ(stack.Pop(), 2); // Stack [1]
33+
ASSERT_EQ(stack.Pop(), 1); // Stack []
34+
stack.Push(1); // Stack [1]
35+
stack.Push(2); // Stack [1, 2]
3636
ASSERT_EQ(stack.GetMin(), 1);
37-
ASSERT_EQ(stack.Pop(), 2); // Stack [1]
38-
stack.Push(3); // Stack [1, 3]
37+
ASSERT_EQ(stack.Pop(), 2); // Stack [1]
38+
stack.Push(3); // Stack [1, 3]
3939
ASSERT_EQ(stack.GetMin(), 1);
40-
ASSERT_EQ(stack.Pop(), 3); // Stack [1]
41-
ASSERT_EQ(stack.Pop(), 1); // Stack []
40+
ASSERT_EQ(stack.Pop(), 3); // Stack [1]
41+
ASSERT_EQ(stack.Pop(), 1); // Stack []
4242
}

task_04/src/main.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include "heap.hpp"
21
#include <iostream>
32

43
int main() { return 0; }

task_04/src/test.cpp

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
1-
#include "heap.hpp"
1+
22
#include <gtest/gtest.h>
33

4-
TEST(heap, Simple) {
5-
ASSERT_EQ(Find_Minimum(std::vector<int>{1, 3, 5, 6, 2, 4}), 1);
6-
ASSERT_EQ(Find_Minimum(std::vector<int>{11, 37, 55, 34, -6, 0, 4}), -6);
7-
ASSERT_EQ(Heap_Ready(std::vector<int>{4, 1, 3, 2, 5}),
8-
(std::vector<int>{1, 2, 3, 4, 5}));
9-
ASSERT_EQ(Heap_Ready(std::vector<int>{3, 1, 5, 6, 2, 4}),
10-
(std::vector<int>{1, 2, 4, 6, 3, 5}));
11-
Heap heap;
12-
heap.Build_heap(std::vector<int>{1, 3, 5, 7, 9, 12, 324, 5, 47, 457, 9467, -4,
13-
758, -579, -4, 0});
14-
ASSERT_EQ(heap.Find_Min(), -579);
15-
heap.Insert(23);
16-
heap.Insert(-1000);
17-
ASSERT_EQ(heap.Extract_Min(), -1000);
18-
ASSERT_EQ(heap.Find_Min(), -579);
4+
TEST(TopologySort, Simple) {
5+
ASSERT_EQ(1, 1); // Stack []
196
}

task_05/src/test.cpp

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,6 @@
11

2-
#include "sort.hpp"
32
#include <gtest/gtest.h>
43

5-
TEST(Quick_Sort, Simple) {
6-
std::vector<int> vec1{9, 8, 7, 6, 5, 4, 2, 3, 1, 0};
7-
ASSERT_EQ(Quick_Sort(vec1, 0, 9),
8-
(std::vector<int>{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}));
9-
std::vector<int> vec2{10, 90, 30, 80, 60, 50};
10-
ASSERT_EQ(Quick_Sort(vec2, 0, 5),
11-
(std::vector<int>{10, 30, 50, 60, 80, 90}));
12-
std::vector<int> vec3{12, 43, 15, 26, -1233, 346, 1325,
13-
-56, -12, 78, 0, 3345, -34};
14-
ASSERT_EQ(Quick_Sort(vec3, 0, 12),
15-
(std::vector<int>{-1233, -56, -34, -12, 0, 12, 15, 26, 43, 78, 346,
16-
1325, 3345}));
17-
vec3.push_back(-10);
18-
vec3.push_back(1000);
19-
vec3.push_back(5);
20-
ASSERT_EQ(Quick_Sort(vec3, 0, 15),
21-
(std::vector<int>{-1233, -56, -34, -12, -10, 0, 5, 12, 15, 26, 43,
22-
78, 346, 1000, 1325, 3345}));
4+
TEST(TopologySort, Simple) {
5+
ASSERT_EQ(1, 1); // Stack []
236
}

task_06/src/test.cpp

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
1-
#include "k_stat.hpp"
1+
22
#include <gtest/gtest.h>
3-
#include <stdexcept>
43

5-
TEST(k_stat, Simple) {
6-
std::vector<int> vec1{14, -1, 5, 21, 6, -3, 7, 93, 9, 0, 84};
7-
ASSERT_EQ(FindOrderStatistic(vec1, 8), 21);
8-
ASSERT_EQ(FindOrderStatistic(vec1, 3), 5);
9-
ASSERT_EQ(FindOrderStatistic(vec1, 10), 93);
10-
EXPECT_THROW(FindOrderStatistic(vec1, 13), std::logic_error);
11-
std::vector<int> vec2{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
12-
ASSERT_EQ(FindOrderStatistic(vec2, 4), 5);
13-
vec2.pop_back();
14-
vec2.pop_back();
15-
vec2.push_back(-12);
16-
vec2.push_back(100);
17-
vec2.push_back(134);
18-
ASSERT_EQ(FindOrderStatistic(vec2, 9), 100);
4+
TEST(TopologySort, Simple) {
5+
ASSERT_EQ(1, 1); // Stack []
196
}

0 commit comments

Comments
 (0)