mirror of
https://github.com/13hannes11/UU_la_parallel_programming_practical_assignments.git
synced 2024-09-04 00:50:58 +02:00
fix segmentation fault by removing Node* in subclasses
This commit is contained in:
@@ -1,12 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
#include"Node.h"
|
||||
#include"Set.h"
|
||||
|
||||
class FineSet:public Set {
|
||||
Node* first;
|
||||
public:
|
||||
FineSet();
|
||||
bool add(int element);
|
||||
@@ -17,11 +14,13 @@ class FineSet:public Set {
|
||||
FineSet::FineSet() : Set("FineSet") { }
|
||||
|
||||
bool FineSet::add(int element) {
|
||||
this->first->lock();
|
||||
first->lock();
|
||||
return true;
|
||||
Node* p = this->first;
|
||||
Node* c = p->next;
|
||||
c->lock();
|
||||
while (c->is_smaller_than(element)) {
|
||||
std::cout << "C: "<< c->next << std::endl;
|
||||
p->unlock();
|
||||
p = c;
|
||||
c = c->next;
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
class LazySet:public Set {
|
||||
protected:
|
||||
Node* first;
|
||||
void locate(int element, Node* prev, Node* cur);
|
||||
|
||||
public:
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include"Set.h"
|
||||
|
||||
class MultiSet:public Set {
|
||||
Node* first;
|
||||
public:
|
||||
MultiSet();
|
||||
bool add(int element);
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
class OptimisticSet:public Set {
|
||||
protected:
|
||||
Node* first;
|
||||
bool validate(Node* p, Node* c);
|
||||
public:
|
||||
OptimisticSet();
|
||||
|
||||
Reference in New Issue
Block a user