C -Algorithmen sind, wie der Name schon sagt, eine Sammlung gemeinsamer Datenstrukturen und Algorithmen, die in C99 implementiert sind.
Hin und wieder bereite ich mich auf technische Interviews vor, die häufig zumindest ein grundlegendes Verständnis für gemeinsame Datenstrukturen und Algorithmen erfordern. Diese Fragen sollen den technischen Hintergrund und die Fähigkeit eines Kandidaten beurteilen, auf den Füßen zu denken. Im wirklichen Leben sollten Sie jedoch auf jeden Fall vermeiden, das Rad neu zu erfinden und gut etablierte, peer-bewertete Bibliotheken wie Boost für C ++ zu verwenden.
Die erste Version der Bibliothek wurde nur als Header implementiert.
Es gibt Kompromisse zwischen dem Versand einer Bibliothek in einem nur Header-Format und der Verwendung separater Dateien für die API und Implementierung. Der Nur-Header-Ansatz hat, obwohl er beim Bau großer Projekte nicht sehr effizient ist, einen großen Vorteil. Die Bibliothek muss nicht separat zusammengestellt werden, und Sie müssen die entsprechende Header -Datei in Ihrem Quellcode nur #include .
Ich habe mich jedoch schließlich niedergelassen, um separate .H- und .c -Dateien für API und Implementierung zu verwenden, da sie intuitiver in Bezug auf die Codestruktur ist.
Ich habe das Framework googletest (GTEST) verwendet. Dies hat das Repository viel aufgebläht und könnte ein Übertrieben für dieses kleine Projekt sein, aber ich wollte es trotzdem versuchen. Um die Tests auszuführen, make test
Dies ist ein Bildungs- und experimentelles Stück Code. Verwenden Sie unnötig zu erwarten, dass Sie in keiner Produktionsumgebung eine solche Implementierung von Zufallsspielzeugalgorithmus wie diese verwenden.
@lekkas