#include "main.h"
Functions | |
| int | main (int argc, char *argv[]) |
| string | read_string () |
| string | read_filename (bool exist) |
| vector< bool > | compress_single (Huffman *huffman_compr) |
| void | decompress_single (Huffman *huffman_compr, vector< bool > compr_bits) |
| bool * | compress_file (Huffman *huffman_compr, bool *compr_bits, int *count, int algo_id) |
| void | save_compression (bool *compr_bits, int length) |
| void | save_decompression (Huffman *huffman_compr) |
| void | build_tree (Huffman *huffman_compr, string filename) |
Datei zum Starten eines Menues und Ausfuehren des Huffman-Algorithmus
| void build_tree | ( | Huffman * | huffman_compr, |
| string | filename | ||
| ) |
Erzeugt einen Huffman-Binaer-Baum anhand einer Datei.
| 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.
| 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 |

| vector<bool> compress_single | ( | Huffman * | huffman_compr | ) |
Komprimiert einen einzelnen einzulesenden Text und gibt deren Kompressionsbits aus.
| huffman_compr | Zeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird |

| void decompress_single | ( | Huffman * | huffman_compr, |
| vector< bool > | compr_bits | ||
| ) |
Dekomprimiert uebergebene Bits mit dem Huffman-Algorithmus und gibt den dekomprimierten Text aus.
| huffman_compr | Zeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird |
| compr_bits | text |

| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Start-Funktion, die ein Objekt der Huffman-Klasse auf dem Heap erzeugt und auf dieses bei verschiedenen Menüauswahlen die jeweilige Methode des Huffman-Objekts aufruft. Abschliessend wird das Objekt ordnungsgemaess vom Speicher entfernt.
| argc | Anzahl uebergebener Parameter |
| argv | Parameter-Feld, das beim Start des Programms uebergeben wird |

| 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.
| exist | 0, wenn die Datei nicht existieren muss, sonst muss sie existieren |

| string read_string | ( | ) |
Liest einen Text (mit Leerzeichen) ein und leert vor- und nachher den Puffer.
| void save_compression | ( | bool * | compr_bits, |
| int | length | ||
| ) |
Speichert die uebergebenen Bits in einer Datei.
| 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.
| huffman_compr | Zeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird |

1.7.5.1