Implementer Double Hashing methode

flaubert007 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

après avoir fait le cours sur la Hashing Methode, j'éssaye moi meme d'implementer
un algorithme permettant d'inserer et de chercher un nombre dans le tableau hash.
Pour ce faire je programme en c et la je suis blocqué ...
voici l'extrait de mon programme , j'en suis un d'butant ..
Stp aidez- moi !!!!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

#define M1 13
#define M2 7
#define H1 hash1
#define H2 hash2


int main()
{
int a [M1];
int i ;
int n, value; /* n ist die Länge des ARRAYS.
v ist der Wert des Schlüssel K
*/
int hash, hash1, hash2;
hash1 = value%M1;
hash2 = value%M2;
printf("Value of Key: ");
scanf("%d", &value);
int fonction_insert(int value)
{

int H1, H2;
do
{
int hash = (H1 + i*H2)%M1;
if (a[hash]== 0)
{
a[hash] = value;

}
return 0;
else
{
hash = (H1 - i*H2)%M1;
if (a[hash] == 0)
{

a[hash] = value;

}
return true;
else
i++;
}

}
while(return true && i <= M1/2);



return value;
}
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Ce code n'a ni queue ni tête. Entre la fonction_insert déclarée à l'intérieur du main, les else posés un peu n'importe comment, des return true alors que true n'existe même pas en C, sans oublier les #define archi faux...

Il n'y a rien de bon dans ce code, tout est à refaire !

Donc t'intéresser aux hash code c'est bien, mais commence d'abord par un cours sur le langage C, parce que tu ne pourras rien faire sans un minimum de bases.
0