@@ -43,8 +43,8 @@ namespace Algorithm
43
43
void AddRearNode (const T& valeu);
44
44
T RemoveRearNode ();
45
45
private:
46
- Node* m_front = nullptr ;
47
- Node* m_rear = nullptr ;
46
+ Node<T> * m_front = nullptr ;
47
+ Node<T> * m_rear = nullptr ;
48
48
};
49
49
50
50
template <typename T>
@@ -69,9 +69,9 @@ namespace Algorithm
69
69
template <typename T>
70
70
void Algorithm::LinkedList<T>::Destory()
71
71
{
72
- for (Node* current = m_front; current != nullptr ; )
72
+ for (Node<T> * current = m_front; current != nullptr ; )
73
73
{
74
- Node* next = current->m_next ;
74
+ Node<T> * next = current->m_next ;
75
75
delete current;
76
76
current = next;
77
77
}
@@ -80,7 +80,7 @@ namespace Algorithm
80
80
template <typename T>
81
81
void Algorithm::LinkedList<T>::AddFrontNode(const T& value)
82
82
{
83
- Node* newFront = new Node (value);
83
+ Node<T> * newFront = new Node<T> (value);
84
84
newFront->m_next = m_front;
85
85
if (m_front)
86
86
{
@@ -92,19 +92,22 @@ namespace Algorithm
92
92
template <typename T>
93
93
T Algorithm::LinkedList<T>::RemoveFrontNode()
94
94
{
95
- Node* newFront = m_front->m_next ;
95
+ Node<T>* newFront = m_front->m_next ;
96
+ T returnValue = m_front->m_value ;
96
97
if (newFront)
97
98
{
98
99
newFront->m_previous = nullptr ;
99
100
}
100
101
delete m_front;
101
102
m_front = newFront;
103
+
104
+ return returnValue;
102
105
}
103
106
104
107
template <typename T>
105
- void Algorithm::LinkedList<T>::AddRearNode(const T& valeu )
108
+ void Algorithm::LinkedList<T>::AddRearNode(const T& value )
106
109
{
107
- Node* newRear = new Node (value);
110
+ Node<T> * newRear = new Node<T> (value);
108
111
newRear->m_previous = m_rear;
109
112
if (m_rear)
110
113
{
@@ -134,7 +137,7 @@ namespace Algorithm
134
137
bool IsEmpty () const ;
135
138
136
139
private:
137
- LinkedList m_linkedList;
140
+ LinkedList<T> m_linkedList;
138
141
};
139
142
140
143
template <typename T>
0 commit comments