C, algorithmique et structures de données