-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHeader.h
More file actions
57 lines (47 loc) · 1.32 KB
/
Copy pathHeader.h
File metadata and controls
57 lines (47 loc) · 1.32 KB
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
53
54
55
56
57
#ifndef HEADER_H_
#define HEADER_H_
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <ctype.h>
#define TRUE 1
#define FALSE 0
#define NO_OF_DEFAULT_ARGC 2
#define NOCHARACTERS 20000
#define MAX_NO_OF_PARAMS 2
#define OP_NONE 0
#define OP_ADD 1
#define OP_CLEAR 2
#define OP_REMOVE 3
#define OP_FIND 4
#define OP_RESIZE 5
#define OP_PRINT_BUCKET 6
#define OP_PRINT 7
/**
* Structura ce reprezinta tipul elementelor unui bucket
*/
struct Node {
char *value;
struct Node *next;
};
/*
* Structura ce reprezinta tabela de dispersie
*/
struct HashTable {
struct Node **bucketList;
int size;
};
struct HashTable createHashTable(int size);
void addWord(struct HashTable hashTable, char* newWord);
int searchWord(struct HashTable hashTable, char* word);
void removeWord(struct HashTable hashTable, char* word);
void clear(struct HashTable hashTable);
void deleteHashTable(struct HashTable hashTable);
struct HashTable resize(struct HashTable hashTable, char behavior);
void applyOperation(struct HashTable* hashTable, char* line);
void processLine(struct HashTable* hashTable, FILE* file);
void printBucket(struct HashTable hashtable, int index, char* file_name);
void findWord(struct HashTable hashTable, char* word, char* fileName);
void printHashtable(struct HashTable hashtable, char* file_name);
#endif