diff --git a/Assignment_2/lib/Node.cpp b/Assignment_2/lib/Node.cpp index 354c0c2..f3b995b 100644 --- a/Assignment_2/lib/Node.cpp +++ b/Assignment_2/lib/Node.cpp @@ -3,13 +3,13 @@ Node::Node(int element){ data = element; - is_dummy = false; + dummy = false; deleted = false; } Node* Node::Dummy(){ Node* n = new Node(0); - n->is_dummy = true; + n->dummy = true; return n; } @@ -19,12 +19,12 @@ bool Node::is_smaller_than(Node* n) { bool Node::is_smaller_than(int n) { // Everything is smaller than a dummy -> false - return this->data < n && !this->is_dummy; + return this->data < n && !this->dummy; } bool Node::is_equal(int n) { // Dummies are not equal to any number -> false - return this->data == n && !this->is_dummy; + return this->data == n && !this->dummy; } void Node::lock() { @@ -32,4 +32,12 @@ void Node::lock() { } void Node::unlock() { this->mut.unlock(); +} + +bool Node::is_dummy() { + return dummy; +} + +int Node::get_data(){ + return data; } \ No newline at end of file diff --git a/Assignment_2/lib/Node.h b/Assignment_2/lib/Node.h index 03f8aa3..c7f48f3 100644 --- a/Assignment_2/lib/Node.h +++ b/Assignment_2/lib/Node.h @@ -5,7 +5,7 @@ class Node { protected: int data; - bool is_dummy; + bool dummy; std::mutex mut; public: @@ -21,4 +21,6 @@ class Node { bool is_smaller_than(int n); bool is_smaller_than(Node* n); bool is_equal(int n); + bool is_dummy(); + int get_data(); }; \ No newline at end of file diff --git a/Assignment_2/lib/Set.cpp b/Assignment_2/lib/Set.cpp index 79712a9..18fab2d 100644 --- a/Assignment_2/lib/Set.cpp +++ b/Assignment_2/lib/Set.cpp @@ -1,6 +1,9 @@ #include "Set.h" #include "Node.h" +#include +#include + Set::Set(std::string _name){ name = _name; first = Node::Dummy(); @@ -11,3 +14,13 @@ bool Set::add(int element) { return false; } bool Set::rmv(int element) { return false; } bool Set::ctn(int element) { return false; } std::string Set::get_name() { return name; } + +std::string Set::print_set(){ + Node* c = this->first->next; + std::stringstream ss; + while (!c->is_dummy()) { + ss << c->get_data() << " "; + c = c->next; + } + return ss.str(); +} diff --git a/Assignment_2/lib/Set.h b/Assignment_2/lib/Set.h index 48dc103..356d46c 100644 --- a/Assignment_2/lib/Set.h +++ b/Assignment_2/lib/Set.h @@ -12,4 +12,5 @@ class Set { bool rmv(int element); bool ctn(int element); std::string get_name(); + std::string print_set(); }; \ No newline at end of file