From 25091543a293ed5de1fe1c849a23dd3b77a84833 Mon Sep 17 00:00:00 2001 From: Luke Else Date: Tue, 15 Nov 2022 07:29:37 +0000 Subject: [PATCH 1/3] Updated Generic Nodes to have public properties --- DataStructures/src/Generic/directednode.h | 12 ++++++------ DataStructures/src/Generic/undirectednode.h | 9 ++++----- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/DataStructures/src/Generic/directednode.h b/DataStructures/src/Generic/directednode.h index 4c28d18..a21952d 100644 --- a/DataStructures/src/Generic/directednode.h +++ b/DataStructures/src/Generic/directednode.h @@ -8,17 +8,17 @@ namespace Generic { public: DirectedNode(T value, std::shared_ptr left = nullptr, std::shared_ptr right = nullptr); ~DirectedNode(); + T value; + std::shared_ptr left; + std::shared_ptr right; protected: - T mValue; - std::shared_ptr mLeft; - std::shared_ptr mRight; }; template DirectedNode::DirectedNode(T value, std::shared_ptr left, std::shared_ptr right) { - this->mValue = value; - this->mLeft = left; - this->mRight = right; + this->value = value; + this->left = left; + this->right = right; } template diff --git a/DataStructures/src/Generic/undirectednode.h b/DataStructures/src/Generic/undirectednode.h index 9d647b3..ca75ffd 100644 --- a/DataStructures/src/Generic/undirectednode.h +++ b/DataStructures/src/Generic/undirectednode.h @@ -8,15 +8,14 @@ namespace Generic { public: UndirectedNode(T value, std::shared_ptr next = nullptr); ~UndirectedNode(); - protected: - T mValue; - std::shared_ptr mNext; + T value; + std::shared_ptr next; }; template UndirectedNode::UndirectedNode(T value, std::shared_ptr next) { - this->mValue = value; - this->mNext = next; + this->value = value; + this->next = next; } template From 23e7860e43ec61f115054611d293435e1615993e Mon Sep 17 00:00:00 2001 From: Luke Else Date: Tue, 15 Nov 2022 07:31:41 +0000 Subject: [PATCH 2/3] Updated Linked List to use adapated protection levels --- DataStructures/src/LinkedList/linkedlist.h | 4 ++-- DataStructures/src/LinkedList/linkedlistnode.h | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/DataStructures/src/LinkedList/linkedlist.h b/DataStructures/src/LinkedList/linkedlist.h index e48d05d..2a222cf 100644 --- a/DataStructures/src/LinkedList/linkedlist.h +++ b/DataStructures/src/LinkedList/linkedlist.h @@ -49,7 +49,7 @@ namespace Datastructures { } //Add new node and set to tail. - (*mTail).mNext = std::make_shared>(value); - mTail = (*mTail).mNext; + (*mTail).next = std::make_shared>(value); + mTail = (*mTail).next; } } \ No newline at end of file diff --git a/DataStructures/src/LinkedList/linkedlistnode.h b/DataStructures/src/LinkedList/linkedlistnode.h index e0f3d73..be788c8 100644 --- a/DataStructures/src/LinkedList/linkedlistnode.h +++ b/DataStructures/src/LinkedList/linkedlistnode.h @@ -9,8 +9,6 @@ namespace Datastructures { public: //Inherit Constructor and destructor from generic Undirectetd Node using Generic::UndirectedNode>::UndirectedNode; - template - friend class LinkedList; private: }; } From 700d6696c82b4ea8ba783238ef73b7efc630dd54 Mon Sep 17 00:00:00 2001 From: Luke Else Date: Tue, 15 Nov 2022 07:42:33 +0000 Subject: [PATCH 3/3] Updated Linked List to look at head instead of count --- DataStructures/src/LinkedList/linkedlist.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DataStructures/src/LinkedList/linkedlist.h b/DataStructures/src/LinkedList/linkedlist.h index 2a222cf..5edafc1 100644 --- a/DataStructures/src/LinkedList/linkedlist.h +++ b/DataStructures/src/LinkedList/linkedlist.h @@ -42,7 +42,7 @@ namespace Datastructures { template void LinkedList::append(T value) { mCount++; - if (mCount == 0) { + if (mHead == nullptr) { mHead = std::make_shared>(value); mTail = mHead; return;