-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBucketManager.h
52 lines (38 loc) · 1.1 KB
/
BucketManager.h
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
51
52
/*
* BucketManager.h
*
* Created on: 24.02.2017
* Author: Raffael Wojtas
*/
#ifndef SRC_BUCKETMANAGER_H_
#define SRC_BUCKETMANAGER_H_
#include <stdlib.h>
#include <stdio.h>
#include "Bucket.h"
#include "BucketItem.h"
#include <inttypes.h>
const int THRESHOLD_FOR_INSERTION_INTO_BUCKET;
//extend for saving pointers to buckets
typedef struct {
uint8_t maxBuckets;
uint8_t currentBuckets;
uint8_t maxBucketSize;
uint8_t THRESHOLD_FOR_SUFFIX_TO_INSERT_INTO_BUCKET;
Bucket *pointerToBucketStartingPoints;
} BucketManager;
void initBucketManager(BucketManager *buckerManager);
void addBucketToBucketManager(BucketManager *bucketManager, Bucket bucket);
BucketItem * selectBestFittingBucket(BucketManager *bucketManager, char stringForInsertion[]);
/*!
* @brief
* @return 1 if the threshold is reached, else return 0
*/
uint8_t isThresholdReached(uint8_t i);
/*!
* @brief
* @return the position they differ
*/
uint8_t stringCompare(char str1[], char str2[]);
uint8_t MAX(uint8_t i, uint8_t j);
int * storeString(BucketManager *bucketManager, char string[]);
#endif /* SRC_BUCKETMANAGER_H_ */