Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sorte de hash de hash comment faire ?

5 réponses
Avatar
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

5 réponses

Avatar
Eric Levenez
Le 15/09/06 18:55, dans
<1hlpyp9.do3q891fy1gzuN%, « Une bévue »
a écrit :

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 -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
pere.noel
Eric Levenez wrote:


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

Avatar
pere.noel
Eric Levenez wrote:

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

Avatar
Eric Levenez
Le 16/09/06 14:20, dans
<1hlrh1u.xkajyi1xl140zN%, « Une bévue »
a écrit :

Eric Levenez wrote:

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 -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.


Avatar
pere.noel
Eric Levenez wrote:


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