Ce document a été produit par HEVEA.
Votre browser peut avoir a être configuré pour afficher correctement
certains symboles.
Reportez-vous à la documentation d'HEVEA.
typedef struct {char *l1; char *l2; char *(*f)(char *)} *ftranslatetab
;
char *(*getftranslate(char *, char *, ftranslatetab))(char *)
;
\n
. Chaque
ligne forme un enregistrement, c'est-à-dire une donnée. On supposera
dans la suite que les lignes comportent au maximum 255 caractères.
Enfin une ligne est elle-même divisée en différents champs séparés par
un caractère laissé au choix de l'utilisateur. Un exemple d'un tel
fichier est le fichier des mots de passe /etc/passwd
:
Pour réaliser un index sur un tel fichier, l'utilisateur doit spécifier quel champ représente la clé d'un enregistrement. Pour cela, il donne le caractère séparateur des champs, ainsi que le numéro du champ formant la clé. On supposera que la clé est un entier positif codé dans le fichier en décimal sous la forme d'une chaîne de caractères.user1:motdepasse:501:50:User One:/home/user1:/bin/csh user2:motdepasse:502:50:User Two:/home/user2:/bin/csh
qui retourne la valeur entière de la clé d'un enregistrementunsigned int key(char *record, char sep, int pos)
record
. sep
est le caractère séparateur des champs dans
l'enregistrement, pos
est la position de la clé en commencant
en 1. On supposera que cette clé existe toujours dans un enregistrement.
fseek
lors de la phase d'écriture du fichier trié.NABR
correspondant à un noeud de l'arbre
binaire de recherche et écrire la fonction
qui retourne l'arbre binaire de recherche correspondant au fichier de données pointé parNABR *makeindex(FILE *f, char sep, int pos)
f
. sep
et pos
servent toujours
à déterminer la clé d'un enregistrement. Comme le nombre de clés peut
être très grand, on s'efforcera de proposer une insertion itérative
dans l'arbre binaire.
qui stocke dans le fichier pointé parvoid outputresult(NABR *abr, FILE *src, FILE dst)
dest
le résultat du
parcours infixe de l'arbre binaire pointé par abr
, abr
étant l'index associé au fichier src
.
Ce document a été traduit de LATEX par HEVEA.