diff options
| author | Anhgelus Morhtuuzh <anhgelus@anhgelus.world> | 2025-03-10 10:31:33 +0100 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <anhgelus@anhgelus.world> | 2025-03-10 10:31:33 +0100 |
| commit | 4a3afaf44aa29e66a6c879c60322015a2920a5ab (patch) | |
| tree | 64d3e7748078b4215341aeead3b30eaaf28070ad /semestre 2/informatique/td/6- récursivité.md | |
| parent | 77bfb2ccd3152c1f41d43dc192ba86ca8fd0f72f (diff) | |
Ajout de la semaine des cours du 3 au 7 mars
Diffstat (limited to 'semestre 2/informatique/td/6- récursivité.md')
| -rw-r--r-- | semestre 2/informatique/td/6- récursivité.md | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/semestre 2/informatique/td/6- récursivité.md b/semestre 2/informatique/td/6- récursivité.md new file mode 100644 index 0000000..94124e3 --- /dev/null +++ b/semestre 2/informatique/td/6- récursivité.md @@ -0,0 +1,25 @@ +--- +tags: + - sorbonne + - informatique + - td +semestre: 2 +--- +Fonction récursive pour trouver si deux chaînes sont égales +```c +int str_equal(char *s1, char *s2){ + int b = *s1 != *s2; + if (b || *s1 == '\0') return !b; + return str_equal(s1+1, s2+1); +} +``` + +Recherche par dichotomie : +```c +int dichotomie(int *a, int e, int taille){ + if (taille <= 0) return -1; + int m = (start+end) / 2; + if (a[m] == e) return m; + return dichotomie(e > a[m] ? tab+m+1 : tab, e, taille-m-1); +} +``` |
