-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsort.cpp
50 lines (38 loc) · 864 Bytes
/
sort.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "sort.h"
namespace easy_algorithm {
Sort::Sort(DataStructure* ds, SortAlgorithm* sa, TimeObserver* to) : _pDS(ds), _pSA(sa), _pTO(to) {}
void Sort::sort() {
_pSA->sort(_pDS, _pTO);
}
void Sort::setTimeObserver(TimeObserver* pTO) {
if(!pTO)
throw std::exception();
_pTO = pTO;
_pTO->reset();
}
void Sort::setDataStructure(DataStructure* pDS) {
if(!pDS)
throw std::exception();
_pDS = pDS;
}
void Sort::setSortAlgorithm(SortAlgorithm* pSA) {
if(!pSA)
throw std::exception();
_pSA = pSA;
}
void Sort::resetTimeObserver() {
_pTO->reset();
}
double Sort::getComparisonTime() {
return _pTO->getComparisonTime();
}
double Sort::getAssignmentTime() {
return _pTO->getAssignmentTime();
}
double Sort::getTotalTime() {
return _pTO->getTotalTime();
}
double Sort::getSearchTime() {
return _pTO->getSearchTime();
}
}