2010-03-08 5 views
2

Je suis en train de trier une table de hachage GLib par id qui ressemble à:Trier Hash Tables Glib - Qsort

key - id 
    { 
    "Red",  2, 
    "BLue", 4, 
    "Yellow", 5, 
    "Orange", 8 
    } 

Je ne suis pas sûr de savoir comment aborder parce que GLib n'a pas une sorte méthode. Je pensais à utiliser qsort ou GCompareFunc

Toutes les idées seront l'apprécier!

+0

GCompareFunc n'est pas une méthode de tri - c'est un prototype de fonction standard pour les fonctions de comparaison à fournir pour trier les méthodes. (Et comme SB a noté, GLib a des méthodes de tri, pour les types qu'il est logique de trier.) – Cascabel

Répondre

4

Les tables de hachage ne sont pas censées être triées. Vous devriez obtenir un GList * à partir de g_hash_table_get_keys (ou des valeurs si c'est ce que vous êtes en train de trier) et le trier. Aussi, faites attention à confondre glibc et GLib.

+0

Merci pour l'info! – Mike