sorte de hash de hash comment faire ?

Le
pere.noel
j'aurais besoin d'une structue de "hash de hash" comment faire ???

la structure que je souhaite enregistre est du type :

Hardware:

Hardware Overview:

Machine Name: iMac G5
[]
Serial Number: W8441BCSPP7

Network:

Modem interne:

Type: PPP (PPPSerial)
[]
Has IP Assigned: No
IPv4:
Configuration Method: PPP

ce sont les données du system profiler sur Mac OS X.

pour l'instant j'ai trouvé sur le net uns struct de hash comme ça ;


struct htab {
struct htab *child;
struct htab *parent;
char key[MAXCOMMAND];
char data[HASHELEMENTS];
};


amis bon, l'implémentation ne gère pas automatiquement parents et
enfants il faut faire par ex :

curhash = addhash("Hardware", "Hardware");
newhash = addhash("Hardware Overview", "Hardware Overview");

curhash->child = newhash;
newhash->parent = curhash;

au cas où vous auriez qq refs
--
une bévue
Vos réponses
Trier par : date / pertinence
Eric Levenez
Le #964923
Le 15/09/06 18:55, dans

j'aurais besoin d'une structue de "hash de hash" comment faire ???


C'est une question ?

Je te rappelle qu'ici c'est un NG où l'on parle du langage C standard. Si tu
as un problème d'algorithme, alors il y a des NG spécialisés sur la question
(j'ai trouvé fr.comp.algorithmes). Si c'est pour rechercher une bibliothèque
non standard pour ne pas avoir à coder quelque chose d'existant, il y a
sûrement d'autres forums.

A part cela, si tu veux utiliser un hashage, alors pourquoi donc ne pas
mettre dans le nom directement le chemin complet de ta donnée. Mais tu n'as
peut-être pas besoin d'un hashage, pourquoi ne pas utiliser les arbres
(balancés ou non) ?

--
Éric Lévénez -- Unix is not only an OS, it's a way of life.

pere.noel
Le #964921
Eric Levenez

A part cela, si tu veux utiliser un hashage, alors pourquoi donc ne pas
mettre dans le nom directement le chemin complet de ta donnée. Mais tu n'as
peut-être pas besoin d'un hashage, pourquoi ne pas utiliser les arbres
(balancés ou non) ?


oui, j'y pense aussi.
--
une bévue

pere.noel
Le #964748
Eric Levenez
A part cela, si tu veux utiliser un hashage, alors pourquoi donc ne pas
mettre dans le nom directement le chemin complet de ta donnée. Mais tu n'as
peut-être pas besoin d'un hashage, pourquoi ne pas utiliser les arbres
(balancés ou non) ?


très bonne idée, ça existe déjà comme ext de ruby ))

un red-black tree...

la hashage sert à retouver les valeurs, le path complet c'est
intéressant MAIS il faut, pour le search, avoir les éléments du path.
--
une bévue

Eric Levenez
Le #964747
Le 16/09/06 14:20, dans

Eric Levenez
A part cela, si tu veux utiliser un hashage, alors pourquoi donc ne pas
mettre dans le nom directement le chemin complet de ta donnée. Mais tu n'as
peut-être pas besoin d'un hashage, pourquoi ne pas utiliser les arbres
(balancés ou non) ?


très bonne idée, ça existe déjà comme ext de ruby ))


Si tu veux des bibliothèques C de gestion d'arbres ou de hashage, il y en a
plein sous Mac OS X en standard sur le système. Regarde les pages man.

la hashage sert à retouver les valeurs, le path complet c'est
intéressant MAIS il faut, pour le search, avoir les éléments du path.


Cela montre juste que le problème est algorithmique et pas un problème C.

--
Éric Lévénez -- Unix is not only an OS, it's a way of life.


pere.noel
Le #964746
Eric Levenez

Si tu veux des bibliothèques C de gestion d'arbres ou de hashage, il y en a
plein sous Mac OS X en standard sur le système. Regarde les pages man.


ok, merci !

la hashage sert à retouver les valeurs, le path complet c'est
intéressant MAIS il faut, pour le search, avoir les éléments du path.


Cela montre juste que le problème est algorithmique et pas un problème C.


oui, oui, j'ai pigé ça...
--
une bévue


Publicité
Poster une réponse
Anonyme