summaryrefslogtreecommitdiff
path: root/include/hash.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/hash.h')
-rw-r--r--include/hash.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/include/hash.h b/include/hash.h
new file mode 100644
index 0000000..3420a51
--- /dev/null
+++ b/include/hash.h
@@ -0,0 +1,45 @@
+#ifndef __HASH_H__
+#define __HASH_H__
+
+#define TAILLECHAINEHACHAGE (26*2+1)
+
+#ifdef HAVE_CONFIG_H
+typedef void * _TypeVariable;
+#else
+typedef int _TypeVariable;
+#endif
+
+typedef struct {
+ char *NomVar;
+ _TypeVariable Variable;
+} _Element;
+
+typedef struct _LstChn {
+ _Element Elem;
+ struct _LstChn *Suivant;
+} *_ListeChaine;
+
+typedef _ListeChaine *_TableauVariable;
+
+/* Initialise une table de hachage */
+int Initialise(_TableauVariable * t);
+
+/* Crée un élement à insérer dans la table de hachage */
+_Element CreerElement(char *Nom, _TypeVariable Var);
+
+/* Insert un element(Nom de la variable,variable) dans une table de hachage
+ la fonction renvoit 0 en cas d'erreur */
+char InsererVarDansTab(_TableauVariable * t, _Element e);
+
+/* Renvoie la variable de la table de hachage qui porte le nom Nom
+ si la variable n'existe pas trouve est égal à 0 */
+_TypeVariable NomVarToVar(char *Nom, _TableauVariable t, char *trouve);
+
+/* Supprime la variable de nom Nom
+ la fonction renvoit 0 en cas d'erreur */
+char SupprimerDansTab(_TableauVariable * t, char *Nom);
+
+/* Detruit le tableau */
+void DetruitTab(_TableauVariable * t);
+
+#endif