@@ -7,59 +7,59 @@ template <typename T>
7
7
class Stack final {
8
8
public:
9
9
constexpr Stack () noexcept {}
10
- Stack (const Stack& other) : list (other.list ) {}
11
- Stack (Stack&& other) : list( other.list) { other.list .clear (); }
12
- Stack (const std::initializer_list<T>& init_list) : list (init_list) {}
10
+ Stack (const Stack& other) : list_ (other.list_ ) {}
11
+ Stack (Stack&& other) : list_(std::move( other.list_)) { other.list_ .clear (); }
12
+ Stack (const std::initializer_list<T>& init_list) : list_ (init_list) {}
13
13
14
14
~Stack () = default ;
15
15
16
- void Push (const T& value) { list .push_back (value); }
16
+ void Push (const T& value) { list_ .push_back (value); }
17
17
void Pop () {
18
18
if (Empty ()) throw std::underflow_error (" Stack is empty!" );
19
- list .pop_back ();
19
+ list_ .pop_back ();
20
20
}
21
21
22
22
T& Top () {
23
23
if (Empty ()) throw std::underflow_error (" Stack is empty!" );
24
- return list .back ();
24
+ return list_ .back ();
25
25
}
26
- bool Empty () { return list .empty (); }
27
- std::size_t Size () { return list .size (); }
26
+ bool Empty () { return list_ .empty (); }
27
+ std::size_t Size () { return list_ .size (); }
28
28
29
29
private:
30
- std::list<T> list ;
30
+ std::list<T> list_ ;
31
31
};
32
32
33
33
template <typename T>
34
34
class StackMin final {
35
35
public:
36
36
constexpr StackMin () noexcept {}
37
- StackMin (const StackMin& other) : list (other.list ) {}
38
- StackMin (StackMin&& other) : list (other.list ) { other.list .clear (); }
39
- StackMin (const std::initializer_list<T>& init_list ) : list(init_list ) {}
37
+ StackMin (const StackMin& other) : list_ (other.list_ ) {}
38
+ StackMin (StackMin&& other) : list_ (other.list_ ) { other.list_ .clear (); }
39
+ StackMin (const std::initializer_list<T>& init_list_ ) : list_(init_list_ ) {}
40
40
41
41
~StackMin () = default ;
42
42
43
43
void Push (const T& value) {
44
44
if (min_stack.Empty () || min_stack.Top () > value) min_stack.Push (value);
45
- list .push_back (value);
45
+ list_ .push_back (value);
46
46
}
47
47
void Pop () {
48
48
if (Empty ()) throw std::underflow_error (" Stack is empty!" );
49
- if (min_stack.Top () == list .back ()) min_stack.Pop ();
50
- list .pop_back ();
49
+ if (min_stack.Top () == list_ .back ()) min_stack.Pop ();
50
+ list_ .pop_back ();
51
51
}
52
52
53
53
T& Top () {
54
54
if (Empty ()) throw std::underflow_error (" Stack is empty!" );
55
- return list .back ();
55
+ return list_ .back ();
56
56
}
57
- bool Empty () { return list .empty (); }
58
- std::size_t Size () { return list .size (); }
57
+ bool Empty () { return list_ .empty (); }
58
+ std::size_t Size () { return list_ .size (); }
59
59
60
60
T& Min () { return min_stack.Top (); }
61
61
62
62
private:
63
- std::list<T> list ;
63
+ std::list<T> list_ ;
64
64
Stack<T> min_stack;
65
65
};
0 commit comments