IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Hashtable


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 88
    Points : 59
    Points
    59
    Par défaut Hashtable
    Salut !

    Existe-il l'equivalent des Hashtable/Hashmap de Java en C et des librairies standards qui les manipulent ?

    Merci de votre aide !

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 51
    Points : 57
    Points
    57
    Par défaut
    En C++ tu as le MAP de la STL (Standard Template Library).

    En C je crois qu'il faut que tu l'implemente toi meme, ou que tu trouves des exemples sur le net.
    J'ai un exemple de table de hachage ouvert dans un projet sur les graphes :
    http://sylvain114.free.fr

  3. #3
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    Sous Unix,

    Tu as la glib qui implemente un systeme de table de hashage pour le C.

  4. #4
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 88
    Points : 59
    Points
    59
    Par défaut
    Et tu pourrais me montrer comment on l'utilise ? Il faut faire des include speciaux ? Et quand tu dis UNIX, tu parles aussi de LINUX ?

    Sinon, je vais aussi jeter un coup d'oeil sur ton implementation Sylvain... mais je prefererai utiliser qqch de standard.

    Merci !

  5. #5
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    Bon voici un petit code source montrant le fonctionnement pour la
    version 1.2 de la glib : (fonctionne sous Linux bien sur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    #include                <gmodule.h>
     
    void            affiche_hash(gchar *clef, gchar *donnee, gchar *format)
    {
      printf(format, clef, donnee);
    }
     
    void            aff_hashage(GHashTable    *my_hash)
    {
      g_hash_table_foreach(my_hash, (GHFunc)affiche_hash, "%s : %s\n");
    }
     
    int             main()
    {
      GHashTable    *my_hash;
     
      my_hash = g_hash_table_new((GHashFunc)g_str_hash, g_str_equal);
      g_hash_table_insert(my_hash, "cle1", "value1");
      g_hash_table_insert(my_hash, "cle2", "value2");
      g_hash_table_remove(my_hash, "cle3");
      aff_hashage(my_hash);
    }
    Et pour compiler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nyal $ gcc -o test_hash test_hash.c `glib-config --cflags --libs`
    Cela n'est pas exhaustif. Il y a plus de fonctions. C'est juste pour te montrer le fonctionnement.

  6. #6
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 88
    Points : 59
    Points
    59
    Par défaut
    Ok, je vais me debrouiller avec ca.

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] HashTable
    Par mardoch dans le forum ASP.NET
    Réponses: 8
    Dernier message: 23/06/2009, 12h58
  2. [Hashtable] trier par l'association de deux clefs
    Par alex.nd dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 20/08/2004, 20h00
  3. [HashMap] Modification d'objet d'une Hashtable
    Par viena dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 29/07/2004, 09h04
  4. [JSP][STRUTS]Cle d'une hashtable
    Par julienOriano dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 23/06/2004, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo