www.AlgorithMan.de
Where theory comes alive
21 KiB
Eine Klasse, die ein X11 Fenster verwaltet. Das Fenster benutzt Double Buffering, löst verschiedene Events aus und verwaltet sich in einem eigenen Thread selbst. Dadurch braucht man es nicht ständig updaten, was die bekannten Darstellungsfehler bei blockierenden Operationen beseitigt. Dadurch kann man es ganz problemlos in Kommandozeilen-Programmen einsetzen. Z.B. habe ich ein Programm damit geschrieben, welches über stdin gesteuert Bilder zeichnet.
Damit könnte man also z.B. aus BASH Scripten heraus irgendwelche Grafiken erzeugen und anzeigen.

Was noch fehlt sind das Laden von Bilddateien, gebogene Striche (der Code funktioniert weitgehend, aber nicht 100%ig), FloodFill (komisch dass X11 das nicht nativ unterstützt) und das Auslesen von Bildpunkten.
521 KiB
Eine Klasse für AVL Bäume. Ausserdem eine pdf Datei mit Skizzen darüber, wie und warum die AVL Rotationen funktionieren.
Die Lösch-Operation könnte ich bei Gelegenheit auch mal implementieren...
14 KiB
Eine Klasse zur Darstellung von beliebig großen, natürlichen Zahlen. Einschließlich Addition, Multiplikation, Subtraktion, Division, Divisionsrest, Vergleichen (>, >=, <, <=, ==, !=), Bit-Shift, Lesen von std::istream, Schreiben nach std::ostream, Parsen von (dezimalen) Strings und Schreiben nach strings (dezimal, binär, hexadezimal).
14 KiB
Eine Klasse für Binäre Suchbäume. Die Lösch-Operation müsste ich auch mal wieder implementieren. Die hatte ich schon mal, ist aber einem rewrite zum Opfer gefallen.
16 KiB
Eine Datenstruktur für doppelt verkettete Listen mit vielen nützlichen Methoden (einschließlich Mergesort). Weitgehend kompatibel zur std::list aus der Standard Template Library.
13 KiB
Eine Plattformunabhängige Klasse zur Verwaltung von Threads, sowie Mutexen und Monitoren zur Thread-Synchronisation.