Valeur sentinelle

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Sentinelle et Valeur.

En informatique, dans une structure de données de taille variable, une des techniques pour dénoter la fin des données est l'utilisation d'une valeur sentinelle. Celle-ci est stockée dans la structure de donnée de la même manière que ses données, ce qui impose que cette valeur ne puisse pas être confondue avec des données valides. L'utilisation d'une valeur sentinelle implique a priori un parcours séquentiel de la structure de données (même si celle-ci est à accès aléatoire).

Exemples[modifier | modifier le code]

En C[modifier | modifier le code]

Un exemple très connu de valeur sentinelle est le caractère nul (\0) pour indiquer la fin d'une chaîne de caractères :

int comparaison_de_deux_chaines(const char s[], const char t[]) {
    int i = 0;
    while (s[i] != '\0' && t[i] != '\0') {
        if (s[i] != t[i]) {
            break;
        } else {
            i++;
        }
    }
    return s[i] - t[i];
}

Alternatives[modifier | modifier le code]

Parmi les autres techniques permettant de dénoter la fin des données, il y a l'utilisation d'un nœud sentinelle, qui est un variante de la valeur sentinelle, et le stockage dans la structure de données de sa taille.