Os algoritmos C são, como o nome indica, uma coleção de estruturas de dados e algoritmos comuns implementados no C99.
De vez em quando me pego me preparando para entrevistas técnicas, que geralmente exigem pelo menos algum entendimento básico das estruturas e algoritmos comuns de dados. Essas perguntas devem avaliar o histórico técnico de um candidato e a capacidade de pensar em seus pés. Na vida real, no entanto, você definitivamente deve evitar reinventar a roda e usar bibliotecas bem estabelecidas e revisadas por pares, como o Boost para C ++.
A primeira versão da biblioteca foi implementada apenas como cabeçalho.
Existem trocas entre o envio de uma biblioteca em um formato somente de cabeçalho e o uso de arquivos separados para a API e implementação. A abordagem somente para o cabeçalho, embora não seja muito eficiente ao construir grandes projetos, tem uma grande vantagem; A biblioteca não precisa ser compilada separadamente e você só precisa #include o arquivo de cabeçalho relevante no seu código -fonte.
No entanto, acabei me acalmei para usar arquivos .h e .c separados para API e implementação porque acha que é mais intuitivo em termos de estrutura de código.
Eu usei a estrutura GoogleTest (GTEST). Isso inchou muito o repositório e pode ser um exagero para esse pequeno projeto, mas eu queria tentar, no entanto. Para executar os testes, simplesmente execute make test
Esta é uma peça de código educacional e experimental. Escusado será dizer que nunca use uma implementação aleatória de algoritmo de brinquedos como essa em qualquer configuração de produção.
@Lekkas