Algorithme le plus rapide

Résolu
cs_cogno Messages postés 26 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 12 décembre 2009 - 8 déc. 2009 à 19:52
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 - 13 déc. 2009 à 01:30
Bonjour les amis,

je cherche l'algorithme le plus rapide en C++ pour obtenir de la fonction suivante

inline int fonction (char* a) {


}

les résultats suivants:
entrée Sortie
A 3
E 4
C 9
K 10
L 40
autre 0

Il existe apparemment un algorithme plus rapide que le switch/case

Merci

23 réponses

cs_cogno Messages postés 26 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 12 décembre 2009
12 déc. 2009 à 19:52
deux colonnes car en entrée ya le char * a et en sortie le int, non?
3
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
12 déc. 2009 à 19:59
tu as un int tableau[256] qui contient toutes les valeurs et dans ta fonction tu as juste à retourner tableau[*a]


J'y ai pensé mais plusieurs problèmes:
* Il ne connait pas les vrais valeurs, donc si il se tape un caractère étendu, la technique ne fonctionnera plus
* Prend de la place en mémoire, si il est sur un système embarqué, c'est peu être beaucoup trop place.

Sinon, si les contraintes sont celles posées à l'origine du problème, ça peut être une excellente idée. Mais à voir tout de même le réel gain, si gain il y a.
3
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
13 déc. 2009 à 01:30
3
Rejoignez-nous