From 66759e77e8a1675880f9864cb1e921524ff715df Mon Sep 17 00:00:00 2001 From: Hannes Kuchelmeister Date: Sun, 10 Jan 2021 22:00:38 +0100 Subject: [PATCH] remove unecessary code from stack and readd printing to Treiber stack --- Assignment_3/lib/Stack.cpp | 12 +----------- Assignment_3/lib/Stack.h | 1 - Assignment_3/lib/TreiberStack.cpp | 12 ++++++++++++ Assignment_3/lib/TreiberStack.h | 1 + 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/Assignment_3/lib/Stack.cpp b/Assignment_3/lib/Stack.cpp index c629822..8956a15 100644 --- a/Assignment_3/lib/Stack.cpp +++ b/Assignment_3/lib/Stack.cpp @@ -5,8 +5,6 @@ #include Stack::Stack(ADTOperationQueue * queue){ - first = Node::Dummy(); - first->next = Node::Dummy(); op_queue = queue; } @@ -14,12 +12,4 @@ void Stack::push(int element) { return; } int Stack::pop() { return 0; } int Stack::size() { return 0; } -std::string Stack::print_stack(){ - Node* c = this->first->next; - std::stringstream ss; - while (!c->is_dummy()) { - ss << c->get_data() << " "; - c = c->next; - } - return ss.str(); -} +std::string Stack::print_stack(){ return ""; } diff --git a/Assignment_3/lib/Stack.h b/Assignment_3/lib/Stack.h index d4bc6ea..40e35d8 100644 --- a/Assignment_3/lib/Stack.h +++ b/Assignment_3/lib/Stack.h @@ -7,7 +7,6 @@ class Stack { protected: ADTOperationQueue * op_queue; Stack(ADTOperationQueue * queue); - Node* first; public: void push(int element); int pop(); diff --git a/Assignment_3/lib/TreiberStack.cpp b/Assignment_3/lib/TreiberStack.cpp index ab74edc..0123dcb 100644 --- a/Assignment_3/lib/TreiberStack.cpp +++ b/Assignment_3/lib/TreiberStack.cpp @@ -1,4 +1,5 @@ #include +#include #include "TreiberStack.h" #include "ADT_Stack.h" @@ -43,4 +44,15 @@ int TreiberStack::size() { int c = count.load(std::memory_order_relaxed); op_queue->enqueue(create_operation(methodname::size, c)); return c; +} + +std::string TreiberStack::print_stack(){ + Node* c = this->top; + std::stringstream ss; + while (c != NULL) { + ss << c->get_data() << " "; + c = c->next; + } + std::string s = ss.str(); + return s.substr(0, s.find_last_not_of(" ") + 1 ); } \ No newline at end of file diff --git a/Assignment_3/lib/TreiberStack.h b/Assignment_3/lib/TreiberStack.h index 5abf6dc..0b5426c 100644 --- a/Assignment_3/lib/TreiberStack.h +++ b/Assignment_3/lib/TreiberStack.h @@ -12,4 +12,5 @@ class TreiberStack:public Stack{ void push(int element); int pop(); int size(); + std::string print_stack(); }; \ No newline at end of file