Skip to content
Snippets Groups Projects
Select Git revision
  • 2bbfb64784f4c39a0589f2e7ca14e9731085da1f
  • main default protected
2 results

hm.h

Blame
  • Orestis's avatar
    2bbfb647
    History
    hm.h 511 B
    #ifndef HM_H
    #define HM_H
    
    #include <stdlib.h>
    
    #define MAX_SIZE 80
    
    typedef enum _state_t { EMPTY, OCCUPIED, DELETED } state_t;
    
    typedef struct _entry_t {
        char key[MAX_SIZE];
        char value[MAX_SIZE];
        state_t state;
    } entry_t;
    
    typedef struct _hm_t {
        entry_t *table;
        size_t table_capacity;
        size_t table_length;
    } hm_t;
    
    void hm_init(hm_t *hm, size_t table_capacity);
    void hm_destroy(hm_t *hm);
    
    void hm_insert(hm_t *hm, char *key, char *value);
    void hm_remove(hm_t *hm, char *key);
    
    #endif