Une chaîne en C est un tableau de caractères. Chaînes C peuvent être des lettres, des chiffres ou des symboles , du texte ou des mots au hasard, mais toutes les chaînes dans ce langage de programmation se terminer par un caractère nul . Programmation en C , vous pouvez créer des chaînes ou les manipuler en utilisant diverses fonctions C . Un sous-chaîne ou sous-séquence est une partie d'une chaîne plus grande . Il existe plusieurs outils mathématiques permettant de déterminer si deux chaînes partagent une chaîne commune . Substrings
Pour être considéré comme une sous-chaîne , les caractères d'une chaîne plus courte doit apparaître dans une chaîne plus longue dans l'ordre, mais pas nécessairement ensemble . Par exemple , "tigre" est une chaîne de " petit cornichon » comme « t », « i », « g », « e » et « r » apparaissent tous dans cet ordre dans la chaîne de caractères plus grande. Si une chaîne entière montre à l'intérieur de l'autre, chaîne plus grande , la plus petite chaîne est une suite de la grande chaîne. Avec une paire de chaînes courtes , la cueillette à une séquence commune est simple, mais comme des chaînes s'allongent , il est plus difficile de le faire à l'œil nu .
Suffixe Arbre
une façon de répondre à chaînes dans C est de créer un arbre de suffixes . Un arbre de suffixe prend une chaîne de caractères comme sa racine, puis les branches pour montrer tous les sous-chaîne possible. Si "tigre" est la racine , les branches sont " TIG ", " GE " et " ER ", dont chacune des branches puis d'autres jusqu'à ce que vous descendez à feuilles d'un seul caractère . Vous pouvez créer un arbre de suffixes automatiquement à l'aide d'un algorithme , puis utiliser un autre algorithme pour faire correspondre les branches dans deux chaînes et d'identifier des séquences communes .
Fonctions
C Les programmeurs ont plusieurs fonctions qu'ils peuvent utiliser pour comparer les chaînes. Si vous voulez savoir si la chaîne S2 est une séquence de S1, " strstr " trouvera à l'intérieur S2 S1 si elle est là . Si les deux chaînes commencent de la même manière , " strspn " vous indique comment S1 longs séjours ressemblant S2 et le point où il diverge . Vous pouvez utiliser d'autres fonctions afin d'identifier le premier caractère S1 partagés avec S2, ou combien de S1 n'a pas de caractères S2 en tout.
Matching
programmeurs ont développé un certain nombre d' algorithmes de matching de chaîne , qui a des applications dans des domaines tels que la recherche de l'ADN et l'analyse de texte . Si vous souhaitez développer un algorithme de vos propres pour faire correspondre chaînes en C , une question à considérer est que l'information dont vous avez besoin . Vous avez besoin d'un algorithme particulier si vous voulez savoir quels caractères les deux chaînes action, et un algorithme différent si vous avez seulement besoin de savoir combien de caractères les chaînes ont en commun. Vous cherchez une correspondance exacte est un processus différent par rapport à la recherche d'une séquence où les caractères correspondants ont d'autres personnages interposés .