#include <iostream>
#include <fstream>
#include <vector>
#include <ctime>
#include "menu.h"
#include "huffman.h"
Go to the source code of this file.
Function Documentation
void build_tree |
( |
Huffman * |
huffman_compr, |
|
|
string |
filename |
|
) |
| |
Erzeugt einen Huffman-Binaer-Baum anhand einer Datei.
- Parameters:
-
huffman_compr | Zeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird |
filename | Dateiname der Datei, die als Wortvorlage verwendet wird |
bool* compress_file |
( |
Huffman * |
huffman_compr, |
|
|
bool * |
compr_bits, |
|
|
int * |
count, |
|
|
int |
algo_id |
|
) |
| |
Komprimiert eine komplette Datei auf 3 verschiedene Arten und gibt deren Dauer aus.
- Parameters:
-
huffman_compr | Zeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird |
algo_id | Algorithmus-ID, 0 fuer intuitiven, 1 fuer tabellearischen, sonst Loookup Algorithmus |
- Returns:
- Zeiger auf Komprimierte Bits
vector<bool> compress_single |
( |
Huffman * |
huffman_compr | ) |
|
Komprimiert einen einzelnen einzulesenden Text und gibt deren Kompressionsbits aus.
- Parameters:
-
huffman_compr | Zeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird |
- Returns:
- Kompressions-Bits
void decompress_single |
( |
Huffman * |
huffman_compr, |
|
|
vector< bool > |
compr_bits |
|
) |
| |
Dekomprimiert uebergebene Bits mit dem Huffman-Algorithmus und gibt den dekomprimierten Text aus.
- Parameters:
-
huffman_compr | Zeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird |
compr_bits | text |
string read_filename |
( |
bool |
exist | ) |
|
Fragt nach einem Dateinamen, liest ihn ein und prueft, ob die Datei existiert. Je nach Parameteruebergabe wird dies so lange wiederholt, wie erforderlich.
- Parameters:
-
exist | 0, wenn die Datei nicht existieren muss, sonst muss sie existieren |
- Returns:
- eingelesener Dateiname
Liest einen Text (mit Leerzeichen) ein und leert vor- und nachher den Puffer.
- Returns:
- eingelesenen Text
void save_compression |
( |
bool * |
compr_bits, |
|
|
int |
length |
|
) |
| |
Speichert die uebergebenen Bits in einer Datei.
- Parameters:
-
compr_bits | zu speichernde Bits |
void save_decompression |
( |
Huffman * |
huffman_compr | ) |
|
Liest eine komprimierte Datei ein, dekomprimiert sie und speichert sie in einer anderen Datei. Die Dateinamen werden jeweils eingelesen.
- Parameters:
-
huffman_compr | Zeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird |