Los algoritmos C son, como su nombre lo indica, una colección de estructuras de datos comunes y algoritmos implementados en C99.
De vez en cuando me encuentro preparándome para entrevistas técnicas que a menudo requieren al menos una comprensión básica de las estructuras y algoritmos de datos comunes. Se supone que estas preguntas evalúan los antecedentes técnicos de los candidatos y la capacidad de pensar en sus pies. Sin embargo, en la vida real, definitivamente debe evitar reinventar la rueda y usar bibliotecas bien establecidas y revisadas por pares, como Boost para C ++.
La primera versión de la biblioteca se implementó solo como encabezado.
Hay compensaciones entre enviar una biblioteca en un formato de encabezado y usar archivos separados para la API e implementación. El enfoque solo de encabezado, aunque no es muy eficiente al construir grandes proyectos, tiene una gran ventaja; La biblioteca no necesita ser compilada por separado y solo tiene que #include el archivo de encabezado relevante en su código fuente.
Sin embargo, finalmente me decidí a usar archivos .h y .c separados para API e implementación porque cree que es más intuitivo en términos de estructura de código.
He usado el marco Googletest (GTEST). Esto ha hinchado mucho el repositorio y podría ser una exageración para este pequeño proyecto, pero quería intentarlo. Para ejecutar las pruebas, simplemente ejecute make test
Este es un código educativo y experimental. No hace falta decir que nunca use una implementación de algoritmo de juguete aleatorio como esta en cualquier entorno de producción.
@lekkas