Init
This commit is contained in:
35
P2/ADS_P2_2_Hashtable/hashtable.h
Executable file
35
P2/ADS_P2_2_Hashtable/hashtable.h
Executable file
@@ -0,0 +1,35 @@
|
||||
#ifndef _HASHTABLE_H_
|
||||
#define _HASHTABLE_H_
|
||||
|
||||
#include <vector>
|
||||
#include <math.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class HashTable {
|
||||
public:
|
||||
HashTable(int size, double threshold=0.6, int methode=2); // Konstruktor
|
||||
~HashTable(); // Destruktor
|
||||
int insert(int item); // fuegt ein Element der Hashtabelle hinzu
|
||||
int at(int i); // Liefert das i-te Element der Hashtabelle zurueck
|
||||
int getCollisionCount(); // Liefert die Anzahl der Kollisionen zurueck
|
||||
int getSize(); // Liefert die Groesse der Hashtabelle zurueck
|
||||
int getElements(); // Liefert die Anzahl der Elemente der Hashtabelle zurueck
|
||||
void print(); // Ausgabe der Hashtable ind er Form:
|
||||
// [0] -> 1
|
||||
// .....
|
||||
private:
|
||||
int size; // Groesse der HashTable
|
||||
int elements; // Anz. d. Elemente in HashTable
|
||||
int collisionCount; // Anz. d. Kollisionen beim Einfuegen
|
||||
double threshhold_rehashing; // Schwellwert fuers rehashing (size/elements)
|
||||
int m_sondierMethode; // Sondier Methode 1 - linear, 2 - quadratisch, 3 - doppeltes Hashing
|
||||
vector<int>* hashTable; // HashTable
|
||||
int hashValue(int item); // calculate hash value
|
||||
void rehashing(); // rehashing
|
||||
};
|
||||
|
||||
// Helper Funktion:
|
||||
int get_next_Prime(int a); // Gibt zu einer natuerlichen Zahl a, die naechstgroessere Primzahl zurueck
|
||||
int get_last_Prime(int a); // Gibt zu einer natuerlichen Zahl a, die naechstkleienre Primzahl zurueck
|
||||
#endif
|
||||
Reference in New Issue
Block a user