Salut tous le monde,
Je veux savoir la complexité de ma solution pour ce petit exercice qui dit :
On veut ecrire une fonction "existe" qui retourne 1 si une chaine de caractère est à la fin de l'autre et 0 dans le cas contraire.
Par exemple :
CH1=> "Bonjours"
CH2=> "jours"
==> Elle retourne (1)
et (0) dans le cas contraire.
Ce que je veux savoir c'est le calcul analytique de la complexité de ma fonction qui suit : (Je vais l'écrire en langage C) si ça ne vous dérange pas :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 int finChaine (char *s, char *t) { char *p1, *p2; int ok; //Initialisation p1 = s + strlen(s); p2 = t + strlen(t); ok = 1; /*Vrai*/ while (ok) { p1--; p2--; if (!(*p1 == *p2 && p2 > t)) { ok = 0; break; } } }
Concernant le nom de la fonction c'est le prototype proposé par l'exercice si vous parlera de la lisibilité. Et Merci en tout cas.
Partager